我从Fragment类的方法覆盖getItem不再总是被调用的时候得到了问题。它只是在我第一次到达CircleFragmentAdapter
课时才被调用。
这是我使用的课程并且遇到了这个问题:
public class CircleFragmentAdapter extends FragmentPagerAdapter {
/**
* Decide how many view pager in here
*/
private int mCount = 5;
private Class<?> Class;
public CircleFragmentAdapter(FragmentManager fm, Class<?> Class) {
super(fm);
this.Class = Class;
}
/**
* From beginning this method run,
* After calling this class again, this method not run anymore.
*/
@Override
public Fragment getItem(int position) {
Fragment mFragment = null;
if (Class.getSimpleName().equals(
ActivityDetailSimpleFragment.class.getSimpleName())) {
switch (position) {
default:
mFragment = new ActivityDetailSimpleFragment();
return mFragment;
}
} else if (Class.getSimpleName().equals(
WelcomeNabuSimpleFragment.class.getSimpleName())) {
switch (position) {
default:
mFragment = new WelcomeNabuSimpleFragment();
return mFragment;
}
} else if (Class.getSimpleName().equals(
SleepSimpleFragment.class.getSimpleName())) {
switch (position) {
default:
mFragment = new SleepSimpleFragment();
return mFragment;
}
}
return mFragment;
}
@Override
public int getCount() {
return mCount;
}
}
在我的片段类中,我称之为:
circleFragmentAdapter = new CircleFragmentAdapter(getFragmentManager(),
ActivityDetailSimpleFragment.class);
mViewPager.setAdapter(circleFragmentAdapter);
circlePageIndicator.setViewPager(mViewPager);
如果无法调用方法getItem,则我创建的所有片段都不会被充气。
请告诉我如何解决这个问题。
由于
答案 0 :(得分:0)
我改变了
public class CircleFragmentAdapter extends FragmentPagerAdapter
到
public class CircleFragmentAdapter extends FragmentStatePagerAdapter
现在可以解决这个问题了。