BVt*_*Vtp 2 android android-recyclerview android-databinding
我正在使用带有 mmvm+livedata+数据绑定的 recyclerview。每次旋转后,我都可以看到旧的物品卡在后面作为背景。
我可以看到适配器具有正确数量的项目,并且实际上适配器仅显示和滚动最新数据。但在后台您可以看到旧列表。
代码非常标准和简单 - 带有数据绑定项的简单的 adatper/recyclervyew。
即使您没有发布任何代码(这确实没有帮助),我还是假设您正在显示RecyclerViewFragment 内部,并且在 Activity 的 onCreate 中,您有以下行。
getSupportFragmentManager()
.beginTransaction()
.add(frameLayout, fragment)
.commit();
Run Code Online (Sandbox Code Playgroud)
FragmentManager 的好处之一是,即使您旋转屏幕,它也会保留片段,这样内容就不会改变。savedInstanceState只要不为空,它就会执行此操作。
这意味着,如果您只是通过检查保存的状态来添加片段,它将被放置在管理器保存的片段上,这就是您正在做的事情。然而,利用此功能来维护状态需要一些编码工作,而且我无法帮助您,因为我不知道您的代码是什么样的。因此,最简单的解决方案就是更改add为replace.
getSupportFragmentManager()
.beginTransaction()
.replace(frameLayout, fragment)
.commit();
Run Code Online (Sandbox Code Playgroud)
这告诉管理器“我不关心保存的状态。如果之前有一个片段,只需在添加这个片段之前将其删除即可。”
| 归档时间: |
|
| 查看次数: |
259 次 |
| 最近记录: |