Временное восстановление данных (текстовые представления) в RelyclerView с помощью CardView (потеря данных из-за изменения действий)

В моем макете есть ViewPager с 3 фрагментами. Во фрагментах у меня есть recyclerView, заполненный из некоторого списка массивов и карт. На выходе используется CardView с несколькими кнопками и TextViews с динамическими данными (кнопки изменяют значения TextView).

Все отлично работает, но теперь я реализую Preference Activity. Когда я запускаю эту активность, а затем возвращаюсь к своей основной активности, все изменения данных теряются. Все показывает свое значение по умолчанию.

Как я могу справиться или предотвратить эту потерю данных?

Благодарю вас!

РЕДАКТИРОВАТЬ: я придумал решение, которое по крайней мере для моих целей полностью работает. Прочтите эту тему (я реализовал это в своей PreferenceActivity).




Ответы (1)


Используйте общие настройки для хранения данных. И когда активность снова открывается, загрузите значения из sharedpreference. Таким образом, вы можете сохранить значение до тех пор, пока приложение не будет удалено. Другой метод заключается в том, что вместо перехода к mainActivity через startActivity() вы можете сделать super.onBackPressed(). Другой вариант — использовать общие настройки в основном действии. Он проверяет, есть ли пакет с надписью getBoolean("restoreSelectedOptions", false). Если это правда, то значения восстанавливаются, а если нет, то необходимо ввести новые значения, которые затем сохраняются в общих настройках.

person suku    schedule 28.03.2016
comment
Спасибо за ваш ответ @suku. Я поработаю над этим методом позже. - person Raul Lopez; 28.03.2016