2014-01-11 68 views
0

我有類A(擴展活動),它提供了一個表中的項目列表。我在調用一個最終觸發C類的方法(C擴展了一個廣播接收器)。調用第三方類方法

在我的班級C我正在更新我的數據庫中的一個表,其中A類獲取要呈現的項目。

我的問題是如何在類C完成更新表後調用類A方法。

在這種情況下,使靜態類A函數是不可能的。

回答

1

如果C類延伸BroadcastReceiver它負責更新您的數據庫,一旦您更新,您可以發送一個新的Broadcast讓您的應用程序的其他部分知道表更新已完成。您需要在想要獲得通知的地方(即在您的A活動課程中)註冊接收者。如果您只需在本地進行廣播(僅適用於您的應用程序),則可以使用v4支持庫提供的新LocalBroadcastManager。它只會在本地進行廣播並擺脫IPC的開銷。

0

活動通常不能調用其他活動的方法。你需要找到不同的方式來進行這些類之間的通信。例如,在一個活動中通過registerReceiver()實例化動態接收器,並在另一個活動中發送廣播。

除此之外,您的問題似乎表明您的應用程序體系結構不是最優的。一次只能看到一個活動。爲什麼你的活動需要彼此溝通?

+0

他沒有從另一個Activity中調用一個Activity的方法。 C類是'BroadcastReceiver',而不是'Activity'。 B觸發C,然後C必須讓A知道它已經完成。 – Emmanuel