我有一个Android应用程序,有几个选项卡。要创建选项卡,我使用了以下教程:
http://www.androidhive.info/2013/10/android-tab-layout-with-swipeable-views-1/
因此,标签是使用由TabsPagerAdapter
处理的片段实现的,这些片段扩展了FragmentPagerAdapter
。
但是我在主要活动的一个片段中调用方法时遇到了麻烦。
我想在主要活动收到消息时调用此方法。更具体地说,我需要在收到此消息时更新片段的UI。但我不确定如何正确识别片段,因为它没有在xml中声明,因此没有标签/ id。
我希望有人能够帮助我找到最佳方法。
答案 0 :(得分:1)
首先使用onCreate
的{{1}}方法创建所有片段并将其添加到Activity
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);
}
}
所以当你想调用一个方法从活动到片段时说1做这个:
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);
}
}