【发布时间】:2017-04-16 00:17:25
【问题描述】:
我在 viewpager 中有 3 个标签。我们称它们为标签 A,B,C。每个选项卡都有自己的片段,我们称它们为 frag1、frag2、frag3。 我想用新的片段 frag4 替换标签 A 中的 frag1,并保持 viewpager 中的其他标签不变。 我试过更换片段,但它不起作用。我需要在我的 pageradapter 中实现一些东西吗?
public class SectionsPagerAdapter extends FragmentPagerAdapter {
private FragmentManager mFragmentManager;
private Fragment frag = null;
public SectionsPagerAdapter(FragmentManager fm) {
super(fm);
mFragmentManager = fm;
}
public void onSwitchToNextFragment() {
mFragmentManager.beginTransaction().remove(frag)
.commit();
if (frag instanceof Fragment1){
Log.v("here","swapping");
frag = Fragment4.newInstance();
}
Log.v("here","notified");
notifyDataSetChanged();
}
@Override
public Fragment getItem(int position) {
switch (position) {
case 0:
frag = Fragment1.newInstance();
Log.v("here","in getitem");
return frag;
default:
Log.v("here","in default");
return Fragment2.newInstance();
}
}
@Override
public int getCount() {
// Show 3 total pages.
return 3;
}
@Override
public CharSequence getPageTitle(int position) {
switch (position) {
case 0:
return "SECTION 1";
case 1:
return "SECTION 2";
case 2:
return "SECTION 3";
}
return null;
}
public void switchFrag(){
onSwitchToNextFragment();
// mFragmentManager.beginTransaction().replace(R.id.container,frag).commit();
// mFragmentManager.beginTransaction().add(frag).commit();
notifyDataSetChanged();
}
【问题讨论】:
标签: android android-fragments android-viewpager