2015-10-12 112 views
0

我得到了三個使用全部三個相同列表的片段。片段通信監聽器

我想這樣做,只要列表發生變化,它會將更改推送到碎片。

我認爲這樣做可以從活動(接口)到三個片段(或者監聽者)實現片段內的接口。

這不是正確的方法嗎?

+0

你的建議似乎是對我來說合理的第一次設計嘗試。你真的在問什麼? – emerssso

+0

以及即時搜索遍佈的地方,但我只看到片段活動碎片通信。所以即時通訊問,如果這仍然是正確的,我試圖做到這一點:活動到fragmentS。 – cc2k

回答

1

由於您的活動能夠堅持它顯示的片段的引用,這將是罰款,只是包括通過更新後的名單給客戶的片段像一些方法:

public class MyActivity extends FragmentActivity { 

    private MyFragment fragment; 

    //instantiate and show fragment at the correct time, save a reference to fragment 

    public void onDataUpdate(List<Stuff> list) { 
     fragment.updateList(list); 
    } 
} 

你可以做類似的事情針對每個需要跟蹤數據當前狀態的片段。

+0

我也可以使用fragmentmanager循環低谷碎片,然後更新它們,對嗎?而不是聲明片段的變量(MyFragment片段) – cc2k

+0

這也可以。不過,在這種情況下,你必須將它重新放回到你的類中,因爲'FragmentManager'的'findFragment()'方法將返回純粹的'Fragment's,而不是'MyFragment's。 – emerssso

+0

類似:CreateRoundfragmentTab createRoundfragmentTab =(CreateRoundfragmentTab)((FragmentPageAdapter)mAdapter) \t \t \t \t .getFragment( 「CreateRoundfragmentTab」); ? – cc2k