使用CardView在ReclyclerView上恢复临时数据(Textviews)(因数据丢失而更改活动)

时间:2016-03-27 22:40:33

标签: android android-fragments android-recyclerview android-cardview android-savedstate

我的布局有一个带有3个片段的ViewPager。 在片段中,我从一些arrayList和Maps中填充了一个recyclerView。输出使用CardView和几个按钮,TextViews使用dinamic数据(按钮更改TextView值)。

一切都很好,但现在我正在实施偏好活动。当我启动此活动然后返回到我的MainActivity时,所有数据更改都将丢失。一切都显示出默认值。

如何处理或防止此数据丢失?

谢谢!

编辑: 我想出了一个解决方案,至少为了我的目的是完全正常的。阅读此topic(我在我的PreferenceActivity上实现了它)..

1 个答案:

答案 0 :(得分:0)

使用sharedpreferences存储数据。重新打开活动时,从共享首选项中加载值。这样您就可以存储该值,直到不卸载应用程序。另一种方法是,不是通过startActivity()转到mainActivity,而是super.onBackPressed()。另一种选择是在主活动中使用sharedpreferences。它检查是否有一个包含getBoolean("restoreSelectedOptions", false)的包。如果这是真的,那么值将被恢复,如果为false,则必须输入新值,然后将其存储到共享首选项中。