【发布时间】:2020-07-17 17:27:42
【问题描述】:
我有一个模型,它是一个对象列表,并且该对象包含 like_count
首页有模型的适配器
onclick 遍历到其他片段的项目,如果在片段中单击喜欢计数会增加但当用户返回主页时应反映更新的喜欢计数
也不能使用单例类,因为在不同的片段上使用相同的模型。
现在我正在使用广播侦听器,但性能变慢了,
谁能帮忙解决这个问题。
【问题讨论】:
标签: android android-recyclerview adapter
我有一个模型,它是一个对象列表,并且该对象包含 like_count
首页有模型的适配器
onclick 遍历到其他片段的项目,如果在片段中单击喜欢计数会增加但当用户返回主页时应反映更新的喜欢计数
也不能使用单例类,因为在不同的片段上使用相同的模型。
现在我正在使用广播侦听器,但性能变慢了,
谁能帮忙解决这个问题。
【问题讨论】:
标签: android android-recyclerview adapter
假设您使用的是不可观察的数据源,应用更改的片段应该以某种方式通知调用者片段。
您可以使用setTargetFragment/onActivityResult 函数对从被调用的片段中返回数据。在这种情况下,您可以返回一个布尔标志,指示发生了变化,调用者片段应该检查它并在必要时重新加载数据。
【讨论】:
我强烈建议您查看Android Jetpack,尤其是Android ViewModel 和LiveData 库,它们可让您管理Activity 的数据,包括跨多个子片段的数据。这很可能是@Miha_x64 所指的“可观察数据源”——ViewModel 允许您跨片段声明和管理共享数据 (LiveData),并允许这些片段更新共享数据并响应更改。
无论您是否决定使用 ViewModel,有一个非常好的 Android 文档页面讨论了跨片段通信,我建议从那里开始:https://developer.android.com/training/basics/fragments/communicating
【讨论】: