我有A类(扩展Activity),它显示了表中的项目列表。

在类B(扩展活动)中,我正在调用最终触发类C(C扩展广播接收器)的方法。

在我的C类中,我正在更新数据库中的一个表,其中A类获取要显示的项目。

我的问题是在类C完成更新表后如何调用类A方法。

在这种情况下,使A类函数静态化是非常不可能的。

最佳答案

如果类C扩展了BroadcastReceiver并且它负责更新数据库,则更新后,您可以发送新的Broadcast来让应用程序的其他部分知道表更新已完成。您将需要在要获取通知的位置(即在您的A Activity类中)注册接收者。如果只需要在本地广播(仅向您的应用程序广播),则可以使用v4支持库提供的新LocalBroadcastManager。它将仅在本地广播,并且消除了IPC开销。

07-24 09:49
查看更多