我有一个A类(扩展活动),它提供了表格中的项目列表。
在B类(扩展活动)中,我正在调用一个最终触发C类的方法(C扩展了广播接收器)。
在我的班级C中,我正在更新我的数据库中的一个表,其中A类获取要呈现的项目。
我的问题是如何在C类完成更新表之后调用A类方法。
在这种情况下,使A类函数静态是非常不可能的。
答案 0 :(得分:1)
如果C类扩展BroadcastReceiver
并且它负责更新您的数据库,则一旦更新,您可以发送新的Broadcast
以让应用程序的其他部分知道表更新已完成。您需要在要获取通知的位置(即在A Activity类中)注册接收器。如果您只需要在本地广播(仅限于您的应用程序),则可以使用v4支持库提供的新LocalBroadcastManager
。它只会在本地广播并摆脱IPC开销。
答案 1 :(得分:0)
活动通常不能从其他活动中调用方法。您需要找到一种不同的方式来在这些类之间进行通信。例如,在一个活动中通过registerReceiver()实例化动态接收器,并在另一个活动中发送广播。
除此之外,您的问题似乎表明您的应用程序架构不是最佳的。一次只能看到一个活动。为什么你的活动需要相互沟通?