我有appWidgetProvider更新位於主屏幕上的每個小部件的視圖,並且每個小部件都有一個觸發更新視圖的按鈕,但顯然不管哪個按鈕我按下哪個小部件而且總是其中一個是正在更新appWidgetIds只包含一個ID
@Override
public void onUpdate(Context context, AppWidgetManager appWidgetManager, int[] appWidgetIds) {
super.onUpdate(context, appWidgetManager, appWidgetIds);
for (int widgetId: appWidgetIds){
RemoteViews views = new RemoteViews(context.getPackageName(), R.layout.appwidget);
Intent update = new Intent(context, QuotesAppWidgetProvider.class);
Bundle bundle = new Bundle();
bundle.putIntArray(AppWidgetManager.EXTRA_APPWIDGET_IDS, new int[]{widgetId});
update.putExtras(bundle);
update.setAction(AppWidgetManager.ACTION_APPWIDGET_UPDATE);
PendingIntent pendingIntent = PendingIntent.getBroadcast(context, 0, update, 0);
views.setOnClickPendingIntent(R.id.widget_refresh, pendingIntent);
appWidgetManager.updateAppWidget(widgetId, views);
}
}
比方說,我有小部件ID = 30和ID = 31小部件,我點擊widget30刷新按鈕,然後widget30它需要被更新,但是當我點擊上widget31刷新按鈕那麼widget30正在更新,我不知道是什麼原因。