Android:保存recyclerview的数据以避免网络呼叫

时间:2016-10-05 05:52:51

标签: android android-fragments android-recyclerview

我的应用中有一个RecyclerView。当点击untracked项时,它会打开新活动。

新活动包含两个片段,这两个片段都会从网络调用中加载数据。我已经使用静态变量存储数据,以便下次打开片段时不会进行网络调用。这样可以正常工作但是当我点击 RecyclerView 中的其他项目时,新活动会显示包含数据的片段之前选择的项目,因为变量是静态的。怎么避免这个?

2 个答案:

答案 0 :(得分:0)

如果你有了id,那些回收物品项目的某个地方,你可以做的只是在具有该ID的SharedPreference或SQlite数据库中保存数据,无论何时你需要回拨它,从ID本身打电话。

答案 1 :(得分:0)

最好的方法是使用数据库,但如果您不想这样做或数据在一定时间后发生变化,您可以使用android中提供的LruCache类并使用项目ID作为密钥。这使您可以通过删除最近最少使用的项目来控制存储项目的方式以及节省内存。