ViewPager FragmentPagerAdapter Nullpointer

android, android-viewpager, fragment

Solution

Just in case anyone doesn't read the comments of passsy's answer, here is a summary of the useful answers:

1) Examine your `getItem(int index)` method very closely and look for any logic, scenarios or missing 'break' statements which might cause you to end up with a `null` fragment.

2) Check that the count returned by `getCount()` matches the number of fragments returned in `getItem(int index)`.

3) Examine your imports and ensure you aren't mixing `android.app.Fragment` with `android.support.v4.app.Fragment`

Problem

I got this error by using the ViewPager in the Android Support package. from the Horizontal View Swiping with ViewPager Tutorial ``` 06-19 13:07:25.950: E/AndroidRuntime(16382): FATAL EXCEPTION: main 06-19 13:07:25.950: E/AndroidRuntime(16382): java.lang.NullPointerException 06-19 13:07:25.950: E/AndroidRuntime(16382): at android.support.v4.app.BackStackRecord.doAddOp(BackStackRecord.java:347) 06-19 13:07:25.950: E/AndroidRuntime(16382): at android.support.v4.app.BackStackRecord.add(BackStackRecord.java:342) 06-19 13:07:25.950: E/AndroidRuntime(16382): at android.support.v4.app.FragmentPagerAdapter.instantiateItem(FragmentPagerAdapter.java:97) 06-19 13:07:25.950: E/AndroidRuntime(16382): at android.support.v4.view.ViewPager.addNewItem(ViewPager.java:649) 06-19 13:07:25.950: E/AndroidRuntime(16382): at android.support.v4.view.ViewPager.populate(ViewPager.java:783) 06-19 13:07:25.950: E/AndroidRuntime(16382): at android.support.v4.view.ViewPager.onMeasure(ViewPager.java:1016) 06-19 13:07:25.950: E/AndroidRuntime(16382): at android.view.View.measure(View.java:12728) 06-19 13:07:25.950: E/AndroidRuntime(16382): at android.widget.RelativeLayout.measureChildHorizontal(RelativeLayout.java:594) 06-19 13:07:25.950: E/AndroidRuntime(16382): at android.widget.RelativeLayout.onMeasure(RelativeLayout.java:376) 06-19 13:07:25.950: E/AndroidRuntime(16382): at android.view.View.measure(View.java:12728) 06-19 13:07:25.950: E/AndroidRuntime(16382): at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:4698) 06-19 13:07:25.950: E/AndroidRuntime(16382): at android.widget.FrameLayout.onMeasure(FrameLayout.java:293) 06-19 13:07:25.950: E/AndroidRuntime(16382): at android.view.View.measure(View.java:12728) 06-19 13:07:25.950: E/AndroidRuntime(16382): at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:4698) 06-19 13:07:25.950: E/AndroidRuntime(16382): at android.widget.LinearLayout.measureChildBeforeLayout(LinearLayout.java:1369) 06-19 13:07:25.950: E/AndroidRuntime(16382): at android.widget.LinearLayout.measureVertical(LinearLayout.java:660) 06-19 13:07:25.950: E/AndroidRuntime(16382): at android.widget.LinearLayout.onMeasure(LinearLayout.java:553) 06-19 13:07:25.950: E/AndroidRuntime(16382): at android.view.View.measure(View.java:12728) 06-19 13:07:25.950: E/AndroidRuntime(16382): at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:4698) 06-19 13:07:25.950: E/AndroidRuntime(16382): at android.widget.FrameLayout.onMeasure(FrameLayout.java:293) 06-19 13:07:25.950: E/AndroidRuntime(16382): at com.android.internal.policy.impl.PhoneWindow$DecorView.onMeasure(PhoneWindow.java:2092) 06-19 13:07:25.950: E/AndroidRuntime(16382): at android.view.View.measure(View.java:12728) 06-19 13:07:25.950: E/AndroidRuntime(16382): at android.view.ViewRootImpl.performTraversals(ViewRootImpl.java:1064) 06-19 13:07:25.950: E/AndroidRuntime(16382): at android.view.ViewRootImpl.handleMessage(ViewRootImpl.java:2442) 06-19 13:07:25.950: E/AndroidRuntime(16382): at android.os.Handler.dispatchMessage(Handler.java:99) 06-19 13:07:25.950: E/AndroidRuntime(16382): at android.os.Looper.loop(Looper.java:137) 06-19 13:07:25.950: E/AndroidRuntime(16382): at android.app.ActivityThread.main(ActivityThread.java:4424) 06-19 13:07:25.950: E/AndroidRuntime(16382): at java.lang.reflect.Method.invokeNative(Native Method) 06-19 13:07:25.950: E/AndroidRuntime(16382): at java.lang.reflect.Method.invoke(Method.java:511) 06-19 13:07:25.950: E/AndroidRuntime(16382): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:784) 06-19 13:07:25.950: E/AndroidRuntime(16382): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:551) 06-19 13:07:25.950: E/AndroidRuntime(16382): at dalvik.system.NativeStart.main(Native Method) ```

Original source