2014-06-18 35 views
0

我遇到了我的MainActivity中收到一些新數據並希望將其傳遞給ViewPager中的片段的問題。我現在唯一能想到的解決方案是用新數據創建一個新的ViewPager適配器。像:將數據傳遞給ViewPager中的片段並更新它

adapter = new ViewPagerAdapter(getFragmentManager(), MainActivity.this, bundle); 

而且在我ViewPager適配器,我將進一步通過這個束朝片段:

@Override 
public Fragment getItem(int arg0) { 
    // TODO Auto-generated method stub 

    switch(arg0){ 
    case 0: 
     NewBooksFrag newBookFrag = new NewBooksFrag(); 
     newBookFrag.setArguments(b); 
     return newBookFrag; 

這種方法的缺點是,我要創建一個新的適配器每次新數據進來。我只是想知道是否有更好的方法。

我已閱讀有關

adapter.notifydatasetchange() 

它調用

getitemposition(Object object) 

,然後我可以實現哪些更新該對象的接口

here

但問題這種方法是我不知道如何將數據傳遞給f我想更新的細節。

在此先感謝!

回答

0

如果您不知道如何傳遞它,讓片段獲取數據。在fragment中,你創建了從某處獲取數據的update()函數(例如getData()構成一個類)。更新函數被調用時

adapter.notifydatasetchange(); 

,當你重寫:

getitemposition(Object object) 

該數據將被更新,它也應該包括一個領域,以解決誰應該使用這個數據的片段(例如,您可以爲每個片段分配一個ID)。

相關問題