我通过使用ViewPager在Android 支持包得到这个错误。从横向视图刷卡与ViewPager教程
06-19 13:07:25.950:E / AndroidRuntime(16382):致命异常:主要
06-19 13:07:25.950:E / AndroidRuntime(16382):显示java.lang.NullPointerException
06-19 13:07:25.950:E / AndroidRuntime(16382):在android.support.v4.app.BackStackRecord.doAddOp(BackStackRecord.java:347)
06-19 13:07:25.950:E / AndroidRuntime(16382):在android.support.v4.app.BackStackRecord.add(BackStackRecord.java:342)
06-19 13:07:25.950:E / AndroidRuntime(16382):在android.support.v4.app.FragmentPagerAdapter.instantiateItem(FragmentPagerAdapter.java:97)
06-19 13:07:25.950:E / AndroidRuntime(16382):在android.support.v4.view.ViewPager.addNewItem(ViewPager.java:649)
06-19 13:07:25.950:E / AndroidRuntime(16382):在android.support.v4.view.ViewPager.populate(ViewPager.java:783)
06-19 13:07:25.950:E / AndroidRuntime(16382):在android.support.v4.view.ViewPager.onMeasure(ViewPager.java:1016)
06-19 13:07:25.950:E / AndroidRuntime(16382):在android.view.View.measure(View.java:12728)
06-19 13:07:25.950:E / AndroidRuntime(16382):在android.widget.RelativeLayout.measureChildHorizontal(RelativeLayout.java:594)
06-19 13:07:25.950:E / AndroidRuntime(16382):在android.widget.RelativeLayout.onMeasure(RelativeLayout.java:376)
06-19 13:07:25.950:E / AndroidRuntime(16382):在android.view.View.measure(View.java:12728)
06-19 13:07:25.950:E / AndroidRuntime(16382):在android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:4698)
06-19 13:07:25.950:E / AndroidRuntime(16382):在android.widget.FrameLayout.onMeasure(FrameLayout.java:293)
06-19 13:07:25.950:E / AndroidRuntime(16382):在android.view.View.measure(View.java:12728)
06-19 13:07:25.950:E / AndroidRuntime(16382):在android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:4698)
06-19 13:07:25.950:E / AndroidRuntime(16382):在android.widget.LinearLayout.measureChildBeforeLayout(LinearLayout.java:1369)
06-19 13:07:25.950:E / AndroidRuntime(16382):在android.widget.LinearLayout.measureVertical(LinearLayout.java:660)
06-19 13:07:25.950:E / AndroidRuntime(16382):在android.widget.LinearLayout.onMeasure(LinearLayout.java:553)
06-19 13:07:25.950:E / AndroidRuntime(16382):在android.view.View.measure(View.java:12728)
06-19 13:07:25.950:E / AndroidRuntime(16382):在android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:4698)
06-19 13:07:25.950:E / AndroidRuntime(16382):在android.widget.FrameLayout.onMeasure(FrameLayout.java:293)
06-19 13:07:25.950:E / AndroidRuntime(16382):在com.android.internal.policy.impl.PhoneWindow $ DecorView.onMeasure(PhoneWindow.java:2092)
06-19 13:07:25.950:E / AndroidRuntime(16382):在android.view.View.measure(View.java:12728)
06-19 13:07:25.950:E / AndroidRuntime(16382):在android.view.ViewRootImpl.performTraversals(ViewRootImpl.java:1064)
06-19 13:07:25.950:E / AndroidRuntime(16382):在android.view.ViewRootImpl.handleMessage(ViewRootImpl.java:2442)
06-19 13:07:25.950:E / AndroidRuntime(16382):在android.os.Handler.dispatchMessage(Handler.java:99)
06-19 13:07:25.950:E / AndroidRuntime(16382):在android.os.Looper.loop(Looper.java:137)
06-19 13:07:25.950:E / AndroidRuntime(16382):在android.app.ActivityThread.main(ActivityThread.java:4424)
06-19 13:07:25.950:E / AndroidRuntime(16382):在java.lang.reflect.Method.invokeNative(本机方法)
06-19 13:07:25.950:E / AndroidRuntime(16382):在java.lang.reflect.Method.invoke(Method.java:511)
06-19 13:07:25.950:E / AndroidRuntime(16382):在com.android.internal.os.ZygoteInit $ MethodAndArgsCaller.run(ZygoteInit.java:784)
06-19 13:07:25.950:E / AndroidRuntime(16382):在com.android.internal.os.ZygoteInit.main(ZygoteInit.java:551)
06-19 13:07:25.950:E / AndroidRuntime(16382):在dalvik.system.NativeStart.main(本机方法)
解决方案
万一有人不读passsy的回答的意见,这里是有用的答案摘要:
1)检查你的的getItem(INT指数)
方法非常接近,并查找任何逻辑,方案或丢失的破发声明这可能会导致你最终有一个空
片段。
2)检查由 getCount将()
返回的计数的getItem(INT指数)。
3)检查您的进口,确保不会混 android.app.Fragment
与 android.support.v4.app.Fragment
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)
解决方案
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
相关推荐
最新文章