Поворот экрана с Android Endless Listview

Я пытаюсь использовать адаптер конечного списка Android CommonsWare.

https://github.com/commonsguy/cwac-endless

После загрузки пары страниц я повернул экран, и в списке пропадают все страницы, кроме первой. Разве он не должен сохранять загруженные предметы?


person syloc    schedule 28.02.2013    source источник


Ответы (1)


Разве он не должен сохранять загруженные предметы?

Это ваша работа, а не адаптера. Адаптеры не «сохраняют» «элементы», независимо от того, задействован EndlessAdapter или нет.

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

  • используя setRetainInstance() в динамическом фрагменте или
  • используя onSaveInstanceState() или
  • используя onRetainNonConfigurationInstance() или
  • в худшем случае, используя android:configChanges, как предложено в другом ответе
person CommonsWare    schedule 28.02.2013
comment
ОК @CommonsWare. Будет ли иначе, если я использую загрузчик с адаптером? - person syloc; 01.03.2013
comment
@syloc: Ну, EndlessAdapter не работает с CursorAdapter, насколько мне известно. При этом правильно реализованный Loader поможет вам сохранить ваши данные при изменении конфигурации. - person CommonsWare; 01.03.2013