2014-11-05 235 views
0

我在FragmentTabHost中有兩個選項卡 - 我的問題是如何將數據傳遞到選定片段?將值傳遞給選項卡片段

這裏是我的代碼:

mTabHost.addTab(mTabHost.newTabSpec("clips").setIndicator(("Clips")), 
       MyClipsFragment.class, null); 
     mTabHost.addTab(mTabHost.newTabSpec("clipboards").setIndicator("Clipboards"), 
       FragmentSearchMyClipboards.class, null); 
+0

重複http://stackoverflow.com/questions/23467612/communication-between-fragments-of-fragment-tab-host – Lukas 2014-11-05 17:22:09

回答

1

讀取(3ED參數)

Bundle myBundle = new Bundle() 
myBundle.putInt("paramKey", 1); 
mTabHost.addTab(mTabHost.newTabSpec("clips").setIndicator(("Clips")), 
       MyClipsFragment.class, myBundle); 
+0

它抱怨最後一個參數是捆綁? – user1007522 2016-03-03 13:05:22

0

通過片段進行通信的最簡單的方法是使用EventBus - https://github.com/greenrobot/EventBus

方法文檔: 1.這些行添加到片段,其需要獲得的信息:

@Override 
    public View onCreateView(LayoutInflater inflater, ViewGroup container, 
      Bundle savedInstanceState) { 
     EventBus.getDefault().register(this); 
     return inflater.inflate(R.layout.event_list, container, false); 

    } 

@Override 
    public void onDestroyView() { 
     super.onDestroyView(); 
     EventBus.getDefault().unregister(this); 
    } 
public void onEventMainThread(EventBusMsg bus) { //Name your method like this 
     //here you get the info... 
    } 

2.從任何地方發佈信息,如:

EventBus.getDefault().post(new EventBusMsg(true)); 
  • 製作類對象的你要發佈:

    public class EventBusMsg { 
    

    //一些信息... }