我正在制作一个 3 个片段可滚动的应用程序,左侧片段是片段 1,片段 2 位于中心,片段 3 位于右侧。我想 Fragment2(center) 是第一个加载的,我用 mViewPager.setCurrentItem(1); 但是当我启动应用程序时,我在日志中得到了这个。
onStart Fragment1
onResume Fragment1
onStart Fragment3
当我转到 Fragment3(右)时,它的 onPause。当我转到 Fragment2(中心)时,我想暂停,因为我在 Fragment3 上遇到了主要的异常错误。
这是一个 MainActivity 类
public class MainActivity extends FragmentActivity {
SectionsPagerAdapter mSectionsPagerAdapter;
ViewPager mViewPager;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
mSectionsPagerAdapter = new SectionsPagerAdapter(getSupportFragmentManager());
mViewPager = (ViewPager) findViewById(R.id.pager);
mViewPager.setAdapter(mSectionsPagerAdapter);
mViewPager.setCurrentItem(1);
}
public class SectionsPagerAdapter extends FragmentPagerAdapter {
public SectionsPagerAdapter(android.support.v4.app.FragmentManager fm) {
super(fm);
}
@Override
public Fragment getItem(int position) {
Fragment fragment = new Fragment();
switch (position) {
case 0:
return fragment = new Fragment1();
case 1:
return fragment = new Fragment2();
case 2:
return fragment = new Fragment3();
default:
break;
}
return fragment;
}
@Override
public int getCount() {
return 3;
}
@Override
public CharSequence getPageTitle(int position) {
Locale l = Locale.getDefault();
switch (position) {
case 0:
return getString(R.string.one).toUpperCase(l);
case 1:
return getString(R.string.two).toUpperCase(l);
case 2:
return getString(R.string.third).toUpperCase(l);
}
return null;
}
}
}
我是Android新手,我不知道如何解决这个问题,任何答案都会有所帮助。谢谢