【发布时间】:2015-01-17 20:08:59
【问题描述】:
我有一个MainActivity,它在FragmentPagerAdapter 中有三个片段,如下所示。如何通过滑动或单击选项卡来确定用户何时从第一个片段转到第二个或从第二个到第三个?我看到getItem() 方法并不总是像我声明的mViewPager.setOffscreenPageLimit(2) 那样被调用;
public class MainThreeTabAdapter extends FragmentPagerAdapter {
private final String[] CONTENT = new String[]{"News", "Rewards", "Me"};
public MainThreeTabAdapter(FragmentManager fm) {
super(fm);
}
@Override
public Fragment getItem(int position) {
if (position == 0) {
return NewsFragment.newInstance();
} else if (position == 1) {
return RewardsFragment.newInstance();
} else if (position == 2) {
return MeFragment.newInstance(true, App.getAccountData().getId());
} else {
return null;
}
}
@Override
public CharSequence getPageTitle(int position) {
return CONTENT[position % CONTENT.length];
}
@Override
public int getCount() {
return CONTENT.length;
}
}
在MainActivity的onCreate()
mainThreeTabAdapter = new MainThreeTabAdapter(getFragmentManager());
// Set up the ViewPager with the sections adapter.
// this ensures that 2 tabs on each side of current are kept in memory, which is all we need for our case. Default = 1
// this is all taken from the Quickreturn facebook sample app
mViewPager.setOffscreenPageLimit(2);
mViewPager.setAdapter(mainThreeTabAdapter);
【问题讨论】:
标签: android android-fragments android-viewpager android-tabhost android-pageradapter