Сохранение текущего состояния 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.