我使用 FragmentPagerAdapter 来管理 3 个片段。
public class SectionsPagerAdapter extends FragmentPagerAdapter {
public SectionsPagerAdapter(FragmentManager fm) {
super(fm);
}
@Override
public void destroyItem(ViewGroup container, int position, Object object) {
}
@Override
public Fragment getItem(int position) {
// getItem is called to instantiate the fragment for the given page.
Fragment fragment = new Fragment();
switch (position) {
case 0:
return fragment = new Latest();
case 1:
return fragment = new MySets();
case 2:
return fragment = new MyPictures();
default:
break;
}
return fragment;
}
@Override
public int getCount() {
// Show 3 total pages.
return 3;
}
@Override
public CharSequence getPageTitle(int position) {
//SET TITLE OF TABS
Locale l = Locale.getDefault();
switch (position) {
case 0:
return getString(R.string.title_section1_latest).toUpperCase(l);
case 1:
return getString(R.string.title_section2_mysets).toUpperCase(l);
case 2:
return getString(R.string.title_section3_allpictures).toUpperCase(l);
}
return null;
}
}
所有片段都扩展片段。使用扩展 BaseAdapter 的适配器处理点击事件和自定义布局。我的目标是通过另一个 Fragment 替换 Fragment 2。我必须使用 FragmentTransaction 添加所有 Fragment 以稍后替换它们是否正确?
但是如何动态添加片段以使用 FragmentTransaction?有没有办法将它们添加到 getItem(int position) 或者这是错误的方式?