Android Widget按钮单击Toast消息

时间:2013-11-24 09:35:45

标签: android button android-widget widget toast

我创建了一个简单的小部件,只有一个按钮和textView。当我第一次将我的小部件添加到主屏幕时,将添加FC消息和小部件。按钮单击Toast消息将无法正常工作。只有我需要在单击窗口小部件按钮时有一个Toast消息。我已经完成了很多教程,但无法弄清楚问题是什么。任何想要帮助的天才......真的很喜欢帮助......感谢..

widgetProvider.java

public class widgetProvider extends AppWidgetProvider{

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

    for (int i=0; i<N; i++) {
        int appWidgetId = appWidgetIds[i];

        Intent intent = new Intent(context, widgetProvider.class);
        intent.setAction(AppWidgetManager.ACTION_APPWIDGET_UPDATE);
        PendingIntent pendingIntent = PendingIntent.getBroadcast(context, 0, intent, 0);

        RemoteViews views = new RemoteViews(context.getPackageName(), R.layout.widgetlayout);
        views.setOnClickPendingIntent(R.id.button1, pendingIntent);

        appWidgetManager.updateAppWidget(appWidgetId, views);
    }
}
    @Override
    public void onReceive(Context context, Intent intent) {

        if (intent.getAction().equals(AppWidgetManager.ACTION_APPWIDGET_UPDATE)) {
            Toast.makeText(context, "Button Clicked", Toast.LENGTH_SHORT).show();
            }
    }

}

的AndroidManifest.xml

<application
    android:allowBackup="true"
    android:icon="@drawable/ic_launcher"
    android:label="@string/app_name"
    android:theme="@style/AppTheme" >

    <receiver android:name=".widgetProvider" android:label="@string/app_name">
        <intent-filter >
            <action 
                android:name="android.appwidget.action.APPWIDGET_UPDATE" />
        </intent-filter>

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

</application>

1 个答案:

答案 0 :(得分:3)

您的onUpdate永远不会被调用,因为您重写了onReceive方法。