У меня есть GridView
с прикрепленным к нему BaseAdapter
.Сам GridView
заключен в ViewFlipper
.
Я отображаю GridView
, вызывая метод setDisplayedChild()
для ViewFlipper
, затем обновляю набор данных, проверенный BaseAdapter
, и, наконец, я вызываю notifyDataSetChanged()
на адаптере.Обычно он не обновляет GridView
новым содержимым, а иногда случайным образом обновляет его, поэтому он кажется непредсказуемым.
Я заметил, что когда я поворачиваю свое устройство в новой ориентации, представление обновляется самои загрузите данные адаптера правильно.То же самое произошло, когда устройство переходит в режим ожидания, и я его разблокирую, вид волшебным образом обновляется новыми данными.
Я пытался вызвать notifyDataSetChanged()
в UIThread
, я пытался принудительно обновить представлениепозвонив forceLayout()
, requestLayout()
, invalidate()
, invalidateChildren()
и т. д., но ничего не изменится.
Даже если я вызываю notifyDataSetChanged()
с кнопки, ничего не происходит, просто вращая устройство илиблокировка и разблокировка обновляет изображение.
Я занимаюсь разработкой на планшете Asus с Android 3.2.
Может кто-нибудь мне помочь или дать подсказку?
Спасибоочень сильно!