Код: Выделить всё
appWidgetManager.notifyAppWidgetViewDataChanged(appWidgetId, R.id.list_view);
Когда срабатывает onDataSetChanged(), мы начинаем раздувать макет и заполнять каждый компонент представления правильными значениями данных.
Например, вот как мы визуализируем первую строку:
Код: Выделить всё
// RemoteViews for 1st row.
private RemoteViews getCalendarRemoteViews() {
RemoteViews remoteViews = new RemoteViews(PACKAGE_NAME, getCalendarWidgetResourceId());
// Initialise previous and forward buttons.
remoteViews.setImageViewResource(R.id.previous_button, calendarLeftArrowIconResourceId);
remoteViews.setImageViewResource(R.id.forward_button, calendarRightArrowIconResourceId);
...
// Initialise label "SUN", "MON", "TUE", ...
for (int i = 0; i < weekTextViewIds.length; i++) {
final String string = com.yocto.wenote.reminder.Utils.toShortString(dayOfWeek);
final int weekTextViewId = weekTextViewIds[i];
remoteViews.setTextViewText(
weekTextViewId,
string.toUpperCase()
);
}
...
}

Однако это поведение перестало работать в Android API 36. Он по-прежнему работает на Android API 35. Я что-то упустил?
Единственный пример кода в документации:
https://developer.android.com/develop/u ... ollections
Код: Выделить всё
remoteView.setRemoteAdapter(
R.id.list_view,
new RemoteViews.RemoteCollectionItems.Builder()
.addItem(/* id= */ ID_1, new RemoteViews(context.getPackageName(), R.layout.item_type_1))
.addItem(/* id= */ ID_2, new RemoteViews(context.getPackageName(), R.layout.item_type_2))
...
.setViewTypeCount(itemLayouts.size())
.build()
);
Есть ли минимальный рабочий пример перехода с notifyAppWidgetViewDataChanged на RemoteViews.RemoteCollectionItems?
Спасибо. ты.
Подробнее здесь: https://stackoverflow.com/questions/798 ... migrate-to
Мобильная версия