【发布时间】:2020-10-12 04:09:04
【问题描述】:
我有多个片段及其活动。
当我在 MainActivity 中刷新时,我希望所有片段的活动也刷新。因为我使用数据库,它涉及刷新其他片段以更新数据。
MainActivity.kt
swipeRefresh.setOnRefreshListener {
// refreshing MainActivity only
// I don't know how to call fragment's activity here
swipeRefresh.isRefreshing = false
}
【问题讨论】:
-
为什么要刷新当前活动中的任何其他活动?
-
我有同样的问题,比如@PriyankaRajput。我对这个问题的回答是在所有活动中使用广播接收器,并确保它不会导致崩溃。即使您在后台刷新用户也只能在导航到特定屏幕时看到结果。所以这也是通过简历实现的
-
你不能在每个片段上使用观察者并在数据库上的数据发生变化时得到通知吗?
-
这听起来像是一个基本的设计问题。如果这些不同的 UI 组件使用相同的数据模型,它们应该各自直接观察它,而不是相互之间来回通信以找出数据模型的最新状态。
标签: java android kotlin android-fragments swiperefreshlayout