Android FragmentPagerAdapter无法与BaseActivty一起工作
我在我的活动中得到了一个简单的FragmentPageAdapter,它工作得很好。现在我想从BaseActivity扩展,因为我在BaseActivity内部实现了一个导航抽屉。因此,我无法扩展FragmentActivity类,我试图声明一个FragmentActivity对象,但总是出现错误java.lang.IllegalStateException:活动已被销毁。我如何处理这个问题Android FragmentPagerAdapter无法与BaseActivty一起工作,android,android-viewpager,fragmentpageradapter,Android,Android Viewpager,Fragmentpageradapter,我在我的活动中得到了一个简单的FragmentPageAdapter,它工作得很好。现在我想从BaseActivity扩展,因为我在BaseActivity内部实现了一个导航抽屉。因此,我无法扩展FragmentActivity类,我试图声明一个FragmentActivity对象,但总是出现错误java.lang.IllegalStateException:活动已被销毁。我如何处理这个问题 public class MainActivity extends BaseActivity { Fr
public class MainActivity extends BaseActivity {
FragmentPagerAdapter adapterViewPager;
FragmentActivity fa;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
FragmentActivity fa = new FragmentActivity();
adapterViewPager = new MyPagerAdapter(fa.getSupportFragmentManager());
ViewPager pager = (ViewPager) findViewById(R.id.viewPager);
pager.setAdapter(adapterViewPager);
pager.setAdapter(new MyPagerAdapter(fa.getSupportFragmentManager()));
}
private class MyPagerAdapter extends FragmentPagerAdapter {
public MyPagerAdapter(FragmentManager fm) {
super(fm);
}
@Override
public Fragment getItem(int pos) {
switch(pos) {
case 0: // Fragment # 0 - This will show FirstFragment
return SlideFragment.newInstance(0, "Page # 1");
case 1: // Fragment # 0 - This will show FirstFragment different title
return SlideFragment.newInstance(1, "Page # 2");
case 2: // Fragment # 1 - This will show SecondFragment
return SlideFragment.newInstance(2, "Page # 3");
default:
return null;
}
}
@Override
public int getCount() {
return 3;
}
}
@Override
protected int getLayoutResourceId() {
// TODO Auto-generated method stub
return R.layout.activity_main;
}
}
您不需要在MainActivity中使用FragmentActivity对象。只需在BaseActivity类中扩展FragmentActivity。切勿手动创建活动对象。您总是在一些正确实例化的活动类中。 您需要的是BaseActivity来扩展FragmentActivity