Страницы

Поиск по вопросам

пятница, 9 ноября 2018 г.

Сохранение элементов ListView после перезагрузки приложения

Есть приложение, в котором при нажатии на кнопку создаются и добавляются элементы списка ListView. При перезагрузке приложения, они пропадают. Догадываюсь, что нужно использовать БД, и при создании элемента добавлять его в БД, а в методе OnCreate поставить создание списка ListView из элементов в БД(исправьте, если я не прав). Вопрос такой: можно ли сохранять список после перезагрузки приложения НЕ ИСПОЛЬЗУЯ БД, т.к. в списке будет максимум 10-15 элеметов(это потолок). Б


Ответ

У Activity есть onSaveInstanceState, который срабатывает при закрытии. Переопределите его, чтоб сохранить данные из ListView
public void onSaveInstanceState(Bundle savedState) {
super.onSaveInstanceState(savedState);
// здесь берём данные из адаптера // если у вас ArrayAdapter, то будет так String[] values = mAdapter.getValues(); savedState.putStringArray("myKey", values);
}
А потом в onCreate получайте:
public void onCreate (Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
if (savedInstanceState != null) { String[] values = savedInstanceState.getStringArray("myKey"); if (values != null) { mAdaptor = new MyAdaptor(values); } }
[...]
}

Комментариев нет:

Отправить комментарий