【发布时间】:2013-09-02 21:02:41
【问题描述】:
我已经阅读了一些如何做到这一点的想法,但我仍然不明白该怎么做。 我有这个 Activity,其中包括 ViewPager。
public class MainActivity extends FragmentActivity implements TabListener {
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.mainactivity);
mViewPager = (ViewPager) findViewById(R.id.mainactivity_pager);
mAdapter = new MyPagerAdapter(getSupportFragmentManager());
mViewPager.setAdapter(mAdapter);
mViewPager.setOnPageChangeListener(new ViewPager.SimpleOnPageChangeListener() {
@Override
public void onPageSelected(int position) {
actionBar.setSelectedNavigationItem(position);
}
});
for (int i = 0; i < mAdapter.getCount(); i++) {
actionBar.addTab(
actionBar.newTab()
.setText(mAdapter.getPageTitle(i))
.setTabListener(this));
}
}
这是 MyPagerAdapter:
private class MyPagerAdapter extends FragmentStatePagerAdapter{
ArrayList<Fragment> fragments = new ArrayList<Fragment>();
public MyPagerAdapter(FragmentManager fm) {
super(fm);
fragments.add(new Fragment1());
fragments.add(new Fragment2());
fragments.add(new Fragment3());
fragments.add(new Fragment4());
}
@Override
public Fragment getItem(int i) {
return fragments.get(i);
}
@Override
public int getCount() {
return fragments.size();
}
}
如果用户单击 Fragment3 中的按钮,现在我尝试替换 Fragment5 而不是 Fragment3。我读到我应该使用FragmentTransaction,但我不知道如何使用它来替换 Fragment。
编辑: 如果我有这个结构:
- [Fragment1][Fragment2][Fragment3][Fragment4]
点击按钮后我想要这个结构:
- [Fragment1][Fragment2][Fragment5][Fragment4]
【问题讨论】:
标签: android replace android-fragments android-viewpager