如何解决OnScreenRotation 和 RecyclerView 在选项卡式活动
我正在使用标签式活动。在其中一个选项卡中,我有两个按钮和一个 Recyclerview。在 RecyclerView 中,我有两个微调器和一个编辑文本。 第一个按钮的目的是在 RecyclerView 中添加一个新项目,第二个按钮是将选择的元素保存在微调器和编辑文本中。
我的问题是当屏幕旋转时,Recyclerview 被清空。我尝试使用 Recyclerview 的 LayoutManager 的 OnSaveInstanceState() 和 OnRestoreInstanceState 来保存状态,但它仍然被删除。
感谢您的帮助!
解决方法
默认情况下,活动和片段有一个 onSaveInstanceState() 方法,系统使用该方法提供一个 Bundle,您可以向其中写入原始数据和可打包对象。
只要您的数据简单,就可以。在你的情况下,它不是。
框架可能会决定销毁或重新创建 UI 控制器,以响应某些完全不受您控制的用户操作或设备事件。
例如屏幕旋转(方向改变)。
ViewModel 派上用场了。
ViewModel 是 Android 架构组件中的一个类,它具有生命周期感知能力。
有关更多信息,请查看 this 文档。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。