2013-01-15 87 views
0

我有一個Activity其中包含Fragment在其中。 Fragment包含一個TabHost其中包含其他幾個Fragments。我需要發送一條消息到ActivityTabHost s Fragment之一,那麼最好的方法是什麼?發送消息到TabHost的片段從活動

+0

真的只有你可以Fragment.getActivity(),然後就走下你的碎片樹。 (Activity.getTopFrag()) – AedonEtLIRA

+0

我認爲用廣播發送消息可能更容易。 –

回答

0

您可以通過觀察者模式在您的活動中實現Observer接口,然後您可以將您的片段註冊爲Observable。現在,如果要將數據發送到活動,您可以使用notifyObserver(object dataYouWantToSend)並呼叫hasChanged()。
這應該被您的活動所識別,其中接口方法更新將接收數據。

我推薦在那裏創建一個自定義可觀察對象,您可以重寫notifyChange方法並直接添加hasChanged()方法。被覆蓋的方法看起來像這樣。

notifyChange(Object data) { 
    super.notifyObservers(data); 
    setChanged(); 
}