0

I got a simple FragmentPageAdapter in my Activity and it works fine. Now I would like to extend from a BaseActivity because I implemented a navigation drawer inside of the BaseActivity. Therefore I cannot extend of the FragmentActivity Class and I tried to declare a FragmentActivity object but I always get the error java.lang.IllegalStateException: Activity has been destroyed. How can I handle this problem?

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;
}



}
AndiAndi
  • 1
  • 4

2 Answers2

0

You don't need to use a FragmentActivity object in MainActivity. Just extend FragmentActivity in your BaseActivity class.

max59
  • 606
  • 1
  • 7
  • 16
0

Never create manually activity objects. You are always inside some activity class(properly instantiated). What you need is your BaseActivity to extends FragmentActivity.

bajicdusko
  • 1,630
  • 1
  • 17
  • 32