Java 如何从一个活动中刷新所有活动

Java 如何从一个活动中刷新所有活动,java,android,kotlin,android-fragments,swiperefreshlayout,Java,Android,Kotlin,Android Fragments,Swiperefreshlayout,我发现它的活动有多个片段 当我在MainActivity中刷新时,我希望所有片段的活动也刷新。因为我使用数据库,它需要刷新其他片段来更新数据 MainActivity.kt 在“活动”中,可以调用“重新创建”来重新创建活动API 11+ 或者,您可以使用它从活动本身刷新活动 finish(); startActivity(getIntent()); 片段依赖于活动,而活动不依赖于片段。您在活动中所做的操作将影响片段。一定要以此作为查找的起点。为什么要刷新当前活动中的任何其他活动?我有一个类似@

我发现它的活动有多个片段

当我在MainActivity中刷新时,我希望所有片段的活动也刷新。因为我使用数据库,它需要刷新其他片段来更新数据

MainActivity.kt


在“活动”中,可以调用“重新创建”来重新创建活动API 11+

或者,您可以使用它从活动本身刷新活动

finish();
startActivity(getIntent());

片段依赖于活动,而活动不依赖于片段。您在活动中所做的操作将影响片段。一定要以此作为查找的起点。

为什么要刷新当前活动中的任何其他活动?我有一个类似@PriyankaRajput的问题。我对这个问题的回答是在所有活动中使用广播接收器,并确保它不会导致崩溃。而且,即使您在后台刷新,用户也只能在导航到特定屏幕时才能看到结果。这也是通过简历实现的,难道你不能在每个片段上使用一个观察者,并在数据库中的数据发生变化时得到通知吗?这听起来像是一个基本的设计问题。如果这些不同的UI组件使用相同的数据模型,它们应该各自直接观察数据模型,而不是在彼此之间来回通信以了解数据模型的最新状态。这不是解决方案。那是一个骇客
finish();
startActivity(getIntent());