OnScreenRotation 和 RecyclerView 在选项卡式活动

问题描述

我正在使用标签式活动。在其中一个选项卡中,我有两个按钮和一个 Recyclerview。在 RecyclerView 中,我有两个微调器和一个编辑文本。 第一个按钮的目的是在 RecyclerView 中添加一个新项目,第二个按钮是将选择的元素保存在微调器和编辑文本中。

我的问题是当屏幕旋转时,Recyclerview 被清空。我尝试使用 Recyclerview 的 LayoutManager 的 OnSaveInstanceState() 和 OnRestoreInstanceState 来保存状态,但它仍然被删除

感谢您的帮助!

解决方法

默认情况下,活动和片段有一个 onSaveInstanceState() 方法,系统使用该方法提供一个 Bundle,您可以向其中写入原始数据和可打包对象。

只要您的数据简单,就可以。在你的情况下,它不是。

框架可能会决定销毁或重新创建 UI 控制器,以响应某些完全不受您控制的用户操作或设备事件。

例如屏幕旋转(方向改变)。

ViewModel 派上用场了。

ViewModel 是 Android 架构组件中的一个类,它具有生命周期感知能力。

有关更多信息,请查看 this 文档。

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...