从其他片段更新recyclerview适配器

时间:2020-07-17 17:27:42

标签: android android-recyclerview adapter

我有一个模型,该模型是对象列表,并且该对象包含like_count

主页上有该型号的适配器

onclick遍历到其他片段的项目,如果在片段中单击“赞”,则计数增加,但是当用户返回时,主页应反映更新的赞数

也不能使用单例类,因为在各个片段上使用相同的模型。

现在我正在使用广播侦听器,但是性能变慢,

有人可以帮忙吗?

2 个答案:

答案 0 :(得分:0)

假定您正在使用不可观察的数据源,则应用更改的片段应以某种方式通知调用者片段。 您可以使用setTargetFragment / onActivityResult函数对从被调用的片段返回数据。在这种情况下,您可以返回一个布尔型标志,指示发生了更改,并且调用方片段应进行检查并在必要时重新加载数据。

答案 1 :(得分:0)

我强烈建议您检出Android Jetpack,尤其是Android ViewModelLiveData库,这些库可让您管理Activity的数据,包括许多子片段。这很可能是@ Miha_x64用“可观察的数据源”所指的-ViewModel允许您跨片段声明和管理共享数据(LiveData),并允许这些片段更新共享数据并响应更改。

无论您是否决定使用ViewModel,Android文档中都有一个非常不错的页面,其中涉及跨片段通信,我建议从这里开始:https://developer.android.com/training/basics/fragments/communicating