2014-04-04 61 views
0
package com.appointext.widget; 

    import com.bmsce.appointext.R; 
//import com.appointext.frontend.*; 

import android.app.PendingIntent; 
import android.appwidget.AppWidgetManager; 
import android.appwidget.AppWidgetProvider; 
import android.content.Context; 
import android.content.Intent; 
import android.widget.RemoteViews; 

public class Widget extends AppWidgetProvider { 

    //DateFormat df = new SimpleDateFormat("hh:mm:ss"); 

public void onUpdate(Context context, AppWidgetManager appWidgetManager, int[] appWidgetIds) { 
    final int N = appWidgetIds.length; 

    // Perform this loop procedure for each App Widget that belongs to this 
    // provider 
    for (int i = 0; i < N; i++) { 
    int appWidgetId = appWidgetIds[i]; 

    // Create an Intent to launch ExampleActivity 
    Intent intent = new Intent(context, com.appointext.frontend.AppoinTextActivity.class); 
    PendingIntent pendingIntent = PendingIntent.getActivity(context, 0, intent, 0); 

    // Get the layout for the App Widget and attach an on-click listener 
    // to the button 
    RemoteViews views = new RemoteViews(context.getPackageName(), R.layout.activity_main); 
    views.setOnClickPendingIntent(R.id.button, pendingIntent); 

    // To update a label 
    //views.setTextViewText(R.id.widget1label, "AppoinText"); 

    // Tell the AppWidgetManager to perform an update on the current app 
    // widget 
    appWidgetManager.updateAppWidget(appWidgetId, views); 
    } 
} 
} 

這是我的主要java類,我試圖調用前端的appointextactivity類。主屏幕上的小部件正在說「無法加載小部件」。有人請告訴我我的錯誤是什麼。安卓小工具不能正常工作

回答

0

您的onUpdate()時,窗口小部件添加不叫, 你需要重寫的onUpdate()方法

@Override 
public void onUpdate(Context context, AppWidgetManager appWidgetManager, int[] appWidgetIds) { 

另外,還要確保你的清單是如下

<receiver android:name="com.example.app.Widget" > 
     <intent-filter> 
      <action android:name="android.appwidget.action.APPWIDGET_UPDATE" /> 
     </intent-filter> 

     <meta-data 
      android:name="android.appwidget.provider" 
      android:resource="@xml/widget_info" /> 
</receiver>