从另一个活动返回后防止recyclerview重新加载
Posted
技术标签:
【中文标题】从另一个活动返回后防止recyclerview重新加载【英文标题】:Preventing recyclerview from reloading after returning back from another activity 【发布时间】:2019-01-25 08:14:47 【问题描述】:我是这里的新手。
我在我的活动(比如 Activity1)中使用了带有三个片段的底部导航视图。其中一个包含Recyclerview
,它从firebase加载数据,点击后使用意图引导另一个活动(比如Activity2)并传递一些数据。现在,当我在 Activity2 中按回时,它返回到 Activity1,这是我想要的并且很好,但问题是 Recyclerview
再次重新加载。
PS。我试图在另一个片段中放置一个按钮(仅用于测试目的),这会导致相同的活动,并在从它返回时,activity1 保留位置、数据并且不会重新加载。所以我想问题出在Recyclerview
onclick。
【问题讨论】:
【参考方案1】:我设法解决了这个问题,我在 onStart() 方法中有我的适配器“.startlistening()”,我只是在设置 recyclerview 适配器之前将它放在 onCreateView() 中并删除了 onStop() 方法。
【讨论】:
【参考方案2】:您是否尝试过在onSaveInstanceState 中的onRestoreInstanceState 中保存和恢复您的recyclerView 数据?您也可以使用 linearLayoutManager 保存 recyclerView 的滚动状态。
这里是一个如何保存recyclerView状态的例子:https://***.com/a/28262885/4138919
【讨论】:
【参考方案3】:只需删除 OnResume() 方法。我认为您是在片段启动时从服务器或数据库中获取数据。所以请确保不要在 onResume() 方法上调用数据。
【讨论】:
以上是关于从另一个活动返回后防止recyclerview重新加载的主要内容,如果未能解决你的问题,请参考以下文章