Обновите несколько адаптеров в appwidget
Я создаю приложение, которое имеет 2 разных адаптера, один из которых StackView, а второй - GridView, для отображения изображений из внешней папки. Когда я нажимаю на кнопку с изображением, меняется макет и создается новый RemoteView. В OnReceive, когда я добавляю или удаляю изображение, я хотел бы уведомить оба адаптера об изменении данных, используя notifyAppWidgetViewDataChanged для каждого адаптера. Но обновление происходит только для одного из них
@Override
public void onReceive(Context context, Intent intent) {
super.onReceive(context, intent);
int appWidgetId = intent.getIntExtra(AppWidgetManager.EXTRA_APPWIDGET_ID, 0);
AppWidgetManager appWidgetManager = AppWidgetManager.getInstance(context);
if (intent.getAction().equals(SharedData.ACTION_GALLERY)) {
updateLayout(context, appWidgetManager, appWidgetId, R.layout.gallery_screen);
} else if (intent.getAction().equals(SharedData.ACTION_MAIN)) {
updateLayout(context, appWidgetManager, appWidgetId, R.layout.visual_memo);
} else if (intent.getAction().equals(SharedData.ACTION_ON_STACK_CLICK)) {
String filename = intent.getStringExtra(SharedData.ITEM_NAME);
Intent fullScreenIntent = new Intent(context, FullScreenActivity.class);
fullScreenIntent.putExtra(AppWidgetManager.EXTRA_APPWIDGET_ID, appWidgetId);
fullScreenIntent.putExtra(SharedData.ITEM_NAME, filename);
fullScreenIntent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
context.startActivity(fullScreenIntent);
} else if (intent.getAction().equals(SharedData.RECEIVE_ADD)) {
Log.d("BitmapCreator", "Receive_add");
appWidgetManager.notifyAppWidgetViewDataChanged(appWidgetId, R.id.stackView);
appWidgetManager.notifyAppWidgetViewDataChanged(appWidgetId, R.id.gridView);
}
}