Повторное использование представлений gridview в appwidget

Я использую GridView в AppWidget, и у меня возникла проблема с его повторным использованием. Насколько я могу судить, RemoteViewsFactory не имеет никакого способа справиться с переработанными представлениями, метод getView имеет только индекс, а convertView не используется. Итак, когда мой GridView перерабатывает представление, он сохраняет все те же данные, что и исходное его появление, и это неправильно. Есть ли способ отключить переработку представления или отредактировать переработанное представление, чтобы заменить его данные?

Сначала я думал просто вернуть разные типы просмотра для каждого индекса, но RemoteViewsFactory тоже скрывает это, поэтому я тоже не могу этого сделать!

1
0
28
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Думаю, я разобрался. Когда я создаю список представлений, которые будут заполнять адаптер, используемый GridView, я просто очищаю все представления перед помещением в него данных. Понятия не имею, почему это работает, но кажется, что это так.

 RemoteViews view = new RemoteViews( _context.getPackageName(), R.id.base_view );
 view.removeAllViews( R.id.day_box );

Другие вопросы по теме