首先创建所有的片段中的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