Сохранение текущего состояния PagerAdapter

У меня есть ViewPager что я хотел бы сохранить текущее состояние после выхода из Activity, Один из моих вариантов - сохранить текущие значения переменных в базе данных, которая у меня уже есть, и прочитать их обратно при воссоздании действия. Однако это решение кажется перегруженным. Есть ли другой, лучший способ восстановить последнее состояние ViewPagwer? Могу ли я использовать эти два метода ViewPager адаптер?

@Override
public void restoreState(Parcelable arg0, ClassLoader arg1) {}

@Override
public Parcelable saveState() {
    return null;
}

Если да, приведите простой пример его использования. Благодарю.

1 ответ

Это действительно зависит от того, какие данные вы хотите сохранить. Если это какие-то частные поля, вы можете использовать эти 2 метода и Parcelable, если данные более сложные. Обычно для этой цели не требуется использовать БД, использовать БД в качестве кеша, если вы перехватываете данные из Интернета или где-то еще и хотите сохранить / восстановить их, чтобы они не перезагружались после уничтожения действия, но это другой вопрос. Итак, для кеширования данных вам нужно использовать папку БД и файлов приложения сразу после того, как вы загрузили все необходимые данные из Интернета, затем использовать AsyncTaskLoader для загрузки их из БД и затем использовать PagerAdapter для представления их в ViewPager.

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