首先創建所有的片段中的Activity
onCreate
方法,並將它們添加到mMyFrag
ArrayList<MyFragment> mMyFrag = new ArrayList<MyFragment>();
@Override
protected void onCreate(Bundle savedInstanceState) {
for(int i=0; i<4; i++) {
MyFragment fragment = MyFragment.newInstance(arg);
mMyFrag.add(fragment);
}
}
,改變你的適配器:當你想打電話從活性的方法
private class MyPagerAdapter extends FragmentPagerAdapter {
private ArrayList<MyFragment> mMyFragList;
public MyPagerAdapter(FragmentManager fm, ArrayList<MyFragment> list) {
super(fm);
mMyFragList = list;
}
@Override
public int getCount() {
return mMyFragList.size();
}
@Override
public int getItemPosition(Object object) {
return POSITION_NONE;
}
@Override
public MyFragment getItem(int position) {
return mMyFragList.get(position);
}
}
所以要片段說1做到這一點:
mMyFrag.get(1).yourMethod();
possible [調用方法inbetween片段中的選項卡](http://stackoverflow.com/questions/14202662/calling-method-inbetween-fragments-which-are-in-tabs) – 2014-09-02 17:40:42
你有多少片段? – mmlooloo 2014-09-02 17:45:52
謝謝你指出。但是這個問題有點不同。它描述瞭如何從另一個片段中的片段調用方法。我希望找到的是如何從父活動中的片段調用方法。這是因爲消息在我的活動中收到,而不是在片段中。或者,如果有一種方法可以從父活動更改片段的UI,這對我也有效。 – edbert 2014-09-02 17:50:26