当前前台活动后面的活动中的java调用方法
我正在尝试在我的应用程序中创建一个“自动刷新”函数——因此,如果一个活动或片段在后台已超过两分钟,它将在进入前台时自动从api获取新数据
然而,我有一个例子,活动a中的片段a执行api调用,并在列表中显示数据。单击特定列表元素时,进入活动B,其中会显示更多信息
问题是——当活动B在后台至少两分钟后进入前台时,我宁愿得到整个列表(它是动态的,通常很短),理想情况下使用与片段a中初始获取相同的代码,而不是对特定的listelement进行api调用
可以从片段a中的活动B调用方法吗?我该怎么做?之后如何将数据传回活动B,以更新那里的UI
所以我有一堆看起来像:
Activity B (Foreground)
Fragment A in Activity A
我想从活动B调用片段a中的一个方法,并在http请求响应后向活动B报告
提前谢谢,如果有什么需要详细说明的,请告诉我
# 1 楼答案
无需调用活动A的方法->;活动B中的片段A只是为了在两秒钟后刷新数据。 您可以在片段a的onPause方法或活动a中启动线程(根据需要)。然后在onResume中停止该线程
在onResume中,只需删除此方法的回调
但是,在使用这种方法时,请始终记住从处理程序中删除回调,否则它将成为悬空线程,并导致内存泄漏
# 2 楼答案
你可以用
# 3 楼答案
您可以尝试以下解决方案:
在活动a&;中的片段a中编写一个公共静态方法;从活动B中调用它=>;但在活动B中处理方法的输出以显示结果是很重要的 对于共享数据,可以使用SharedReference、本地存储或静态变量