如何在旋转期间保存RecyclerView.Adapter的数据?

时间:2018-02-17 11:26:44

标签: android performance android-recyclerview

我有一个适配器,该数据由我的AppData类组成(带有字段:String,String,Drawable)。我在Recycler视图中实现了拖放功能,因此我可以更改视图位置 - >我的适配器数据发生了变化(实际上,List中的元素被交换)。 但是当我的活动被杀死/设备被轮换时,数据被重新创建并且定位命令将丢失。

我试过这个: 在AppData中实现Parcelable并尝试在onSaveInstance()中保存数据。但是数据的大小很大,可以将它存储在Bundle中。

如何保存此订单?

提前感谢大家的解答!

2 个答案:

答案 0 :(得分:0)

我想我有你的答案。但在此之前,请尝试使用此适配器。它实现了回收站视图所需的一切。让你的生活更轻松

https://github.com/CymChad/BaseRecyclerViewAdapterHelper

答案 1 :(得分:0)

您不需要保留所有数据,只存储它的唯一部分。例如。如果您的AppData类包含有关应用程序的信息,则它可能包含程序包名称,该名称足以识别您的对象。将包名称和订单存储在列表中就足以在将来以正确的顺序重建列表。