我的Activity中有一个简单的FragmentPageAdapter,它运行正常。现在我想从BaseActivity扩展,因为我在BaseActivity中实现了一个导航抽屉。因此我无法扩展FragmentActivity类,我尝试声明FragmentActivity对象,但我总是得到错误java.lang.IllegalStateException:Activity已被销毁。我该如何处理这个问题?
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;
}
}
答案 0 :(得分:0)
您不需要在MainActivity中使用FragmentActivity对象。只需在BaseActivity类中扩展FragmentActivity。
答案 1 :(得分:0)
永远不要手动创建活动对象。你总是在一些活动类里面(正确实例化)。 您需要的是扩展FragmentActivity的BaseActivity。