@egotyner

Как сохранить данные ListView Android?

Предположим есть 2 фрагмента, один с ListView, а другой с кнопкой. Но другой не важен. Речь не о нём. Между фрагментами переключаюсь из навигационного меню (то что сбоку выезжает). При onCreate первого фрагмента он запускает задачу, которая заполняет ListView. (важно, используется кастомный адаптер наследованный от BaseAdapter). Так вот, процесс заполнения ListView весьма продолжительный, и что бы каждый раз не ждать, пока оно снова заполнит ListView при переключении между фрагментами, полагаю нужно этот ListView как-то сохранить. Пните пожалуйста в нужную сторону.

P.S. Я пробовал сделать через parcel, но что-то не особо получалось, ибо классы у меня состоят не из базовых а-ля int,string,byte, а из инстансов других классов и инстансов базовых классов вроде File или типа того. И как мне показалось, не так просто все это дело запихать в parcel, к тому же я не совсем понял методы onSaveInstanceState(Bundle outState) и onCreate(Bundle savedInstanceState). Например, что и где передается в аргумент метода onCreate? По дэфолту там всегда null, следовательно туда нужно что-то руками пихать, но где и как? Ведь нельзя напрямую вызывать этот метод, да и дублирование вызова получится. А вот метод onSaveInstanceState(Bundle outState) вообще не вызывается. Его нужно руками вызывать? И что передавать ему как аргумент? Не совсем понимаю логику взаимодействия и передачи данных. Помогите...
  • Вопрос задан
  • 854 просмотра
Решения вопроса 1
gadfi
@gadfi
https://gamega.org
я бы в вашем случае хранил бы все в базовой activity и гонял бы данные с помощью eventbus
НО .... есть подозрение что вы где при проектировании серьезно что то не учли, вы уверены что все эти данные нужны для работы listview ? File и Bitmap прекрасно заменяются бюджетным стрингом, с путем и так далее ... в большинстве случаев когда в ListView суют тяжелые данные то делают это зря
Откуда заполняется ListView? долгое заполнение не есть хорошо, возможно можно это как то оптимизировать и загружать по частям ?

зы необязательно что это так для вашего приложения, но при подобной проблеме такой вопрос стоит себе задать
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы