0

I have an activity which contains a ViewPager that contains 4 fragments at most. Fragments are created as a singleton instance. In most cases application starts well, but I found an error at Fabric which says NullPointerException but there is no stacktrace in my code.
Is this exception my bug or is there a bug inside ViewPager? Am I missing something?

Note : There is no screen orientation, no exception during runtime or onPause etc.
Here is the stacktrace

Fatal Exception: java.lang.RuntimeException: Unable to start activity ComponentInfo{com.xx.xx/com.xx.xx.ui.MainActivity}: java.lang.NullPointerException
       at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2351)
       at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2403)
       at android.app.ActivityThread.access$800(ActivityThread.java:151)
       at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1334)
       at android.os.Handler.dispatchMessage(Handler.java:110)
       at android.os.Looper.loop(Looper.java:193)
       at android.app.ActivityThread.main(ActivityThread.java:5312)
       at java.lang.reflect.Method.invokeNative(Method.java)
       at java.lang.reflect.Method.invoke(Method.java:515)
       at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:825)
       at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:641)
       at dalvik.system.NativeStart.main(NativeStart.java)
Caused by java.lang.NullPointerException
       at android.support.v4.app.FragmentManagerImpl.getFragment(FragmentManager.java:873)
       at android.support.v4.app.FragmentStatePagerAdapter.restoreState(FragmentStatePagerAdapter.java:215)
       at android.support.v4.view.ViewPager.onRestoreInstanceState(ViewPager.java:1481)
       at android.view.View.dispatchRestoreInstanceState(View.java:12966)
       at android.view.ViewGroup.dispatchRestoreInstanceState(ViewGroup.java:2756)
       at android.view.ViewGroup.dispatchRestoreInstanceState(ViewGroup.java:2762)
       at android.view.ViewGroup.dispatchRestoreInstanceState(ViewGroup.java:2762)
       at android.view.View.restoreHierarchyState(View.java:12944)
       at com.android.internal.policy.impl.PhoneWindow.restoreHierarchyState(PhoneWindow.java:1813)
       at android.app.Activity.onRestoreInstanceState(Activity.java:946)
       at android.app.Activity.performRestoreInstanceState(Activity.java:918)
       at android.app.Instrumentation.callActivityOnRestoreInstanceState(Instrumentation.java:1140)
       at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2329)
       at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2403)
       at android.app.ActivityThread.access$800(ActivityThread.java:151)
       at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1334)
       at android.os.Handler.dispatchMessage(Handler.java:110)
       at android.os.Looper.loop(Looper.java:193)
       at android.app.ActivityThread.main(ActivityThread.java:5312)
       at java.lang.reflect.Method.invokeNative(Method.java)
       at java.lang.reflect.Method.invoke(Method.java:515)
       at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:825)
       at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:641)
       at dalvik.system.NativeStart.main(NativeStart.java)

EDIT : This is the PagerAdapter which I am using.

 private class ScreenSlidePagerAdapter extends FragmentStatePagerAdapter {
        public ScreenSlidePagerAdapter(FragmentManager fm) {
            super(fm);
        }

        @Override
        public Fragment getItem(int position) {
            switch (position){
                case 0:
                    return HomeFragment.getInstance();
                case 1:
                    return MissionDescriptionFragment.getInstance();
                case 2:
                    return MainMenuFragment.getInstance();
                case 3:
                    return SecondMenuFragment.getInstance();
            }
            return null;//unreachable code
        }

        @Override
        public int getCount() {
            return NUM_PAGES;
        }
    }
Abdullah Tellioglu
  • 1,434
  • 1
  • 10
  • 26

0 Answers0