Есть ли способ вызвать notifyDataSetChanged() из основного действия для пользовательского адаптера элемента внутри другого пользовательского адаптера?

Я пытаюсь решить эту проблему, но пока не могу понять. В моем макете есть список со своим настраиваемым адаптером. Внутри каждого представления у меня есть много объектов, хранящихся в статическом классе под названием ViewHolder. Один представляет собой галерею с другим пользовательским адаптером.

Моя проблема в том, что после того, как я получаю onActivityResult в своей деятельности. Мне нужно отправить notifyDataSetChanged() на мой адаптер галереи. Если я сделаю:

((BaseAdapter)list.getAdapter()).notifyDataSetChanged();

Все элементы внутри адаптера обновляются, кроме тех, у которых есть собственный адаптер.

Теперь я подумал, может быть, я подумал, что, возможно, есть способ переопределить onNotifyDataSetChanged() или что-то в этом роде, чтобы отправить уведомление из моего ListAdapter, как только я уведомлю его. Но я не мог найти что-то подобное, есть ли способ сделать это?

Я также заметил, что если я попытаюсь сделать:

((BaseAdapter)ListAdapter.ViewHolder.this.gallery.getAdapter()).notifyDataSetChanged();

В нем говорится: «Ни один экземпляр ListAdapter.ViewHolder недоступен в области действия». Есть ли способ сделать его доступным?

Или другой способ выполнить то, что я пытаюсь сделать?

заранее спасибо


person Mateo    schedule 21.01.2011    source источник


Ответы (1)


Мне стыдно... Кажется, я забыл обновить несколько переменных, чтобы все работало правильно...

Таким образом, вывод: адаптер внутри адаптера обновляется, если вы вызываете:

.notifyDataSetChanged();

Вы просто должны сделать это правильно

person Mateo    schedule 21.01.2011
comment
не могли бы вы подробнее рассказать об этом Матео. Я также застрял с этим и нуждаюсь в некоторой помощи. Я хочу уведомить DataSetChanged адаптеру «A», когда в адаптере «B» происходит событие. Эти адаптеры являются пользовательскими адаптерами. Пожалуйста, помогите - person i_raqz; 29.06.2011