我有一个模型,该模型是对象列表,并且该对象包含like_count
主页上有该型号的适配器
onclick
遍历到其他片段的项目,如果在片段中单击“赞”,则计数增加,但是当用户返回时,主页应反映更新的赞数
也不能使用单例类,因为在各个片段上使用相同的模型。
现在我正在使用广播侦听器,但是性能变慢,
有人可以帮忙吗?
答案 0 :(得分:0)
假定您正在使用不可观察的数据源,则应用更改的片段应以某种方式通知调用者片段。
您可以使用setTargetFragment
/ onActivityResult
函数对从被调用的片段返回数据。在这种情况下,您可以返回一个布尔型标志,指示发生了更改,并且调用方片段应进行检查并在必要时重新加载数据。
答案 1 :(得分:0)
我强烈建议您检出Android Jetpack,尤其是Android ViewModel和LiveData库,这些库可让您管理Activity的数据,包括许多子片段。这很可能是@ Miha_x64用“可观察的数据源”所指的-ViewModel允许您跨片段声明和管理共享数据(LiveData),并允许这些片段更新共享数据并响应更改。
无论您是否决定使用ViewModel,Android文档中都有一个非常不错的页面,其中涉及跨片段通信,我建议从这里开始:https://developer.android.com/training/basics/fragments/communicating