【发布时间】:2012-05-14 10:13:21
【问题描述】:
我正在使用Android兼容库,偶尔会得到一个奇怪的NullPointerException:
java.lang.NullPointerException
at android.support.v4.app.FragmentManagerImpl.moveToState(FragmentManager.java:960)
at android.support.v4.app.FragmentManagerImpl.performPendingDeferredStart(FragmentManager.java:768)
at android.support.v4.app.FragmentManagerImpl.startPendingDeferredFragments(FragmentManager.java:1104)
at android.support.v4.app.LoaderManagerImpl$LoaderInfo.onLoadComplete(LoaderManager.java:410)
at android.support.v4.content.Loader.deliverResult(Loader.java:103)
at android.support.v4.content.CursorLoader.deliverResult(CursorLoader.java:81)
at android.support.v4.content.CursorLoader.onStartLoading(CursorLoader.java:126)
at android.support.v4.content.Loader.startLoading(Loader.java:197)
at android.support.v4.app.LoaderManagerImpl$LoaderInfo.start(LoaderManager.java:262)
at android.support.v4.app.LoaderManagerImpl.doStart(LoaderManager.java:710)
at android.support.v4.app.Fragment.onStart(Fragment.java:981)
at android.support.v4.app.Fragment.performStart(Fragment.java:1332)
at android.support.v4.app.FragmentManagerImpl.moveToState(FragmentManager.java:906)
at android.support.v4.app.FragmentManagerImpl.attachFragment(FragmentManager.java:1240)
at android.support.v4.app.BackStackRecord.run(BackStackRecord.java:612)
at android.support.v4.app.FragmentManagerImpl.execPendingActions(FragmentManager.java:1416)
at android.support.v4.app.FragmentManagerImpl.executePendingTransactions(FragmentManager.java:431)
at android.support.v4.app.FragmentPagerAdapter.finishUpdate(FragmentPagerAdapter.java:139)
at android.support.v4.view.ViewPager.populate(ViewPager.java:804)
at android.support.v4.view.ViewPager.setCurrentItemInternal(ViewPager.java:433)
at android.support.v4.view.ViewPager.setCurrentItemInternal(ViewPager.java:405)
at android.support.v4.view.ViewPager.setCurrentItem(ViewPager.java:386)
...
显然,我做错了某事,让FragmentManager 进入这样的崩溃状态,但我不知道是什么。 FragmentManagerImpl 中的 relevant code 没有为我提供任何线索。我猜mActivity 在代码中以某种方式是null?但这似乎是不可能的,因为活动已经在屏幕上,而且我没有向它添加任何片段 - 只是在 ViewPager 中切换它们。
【问题讨论】:
-
请包含您的代码
-
你特别想看什么代码?堆栈跟踪中的任何位置都没有。
-
全部?如果没有代码示例,我们将无法帮助您。无论您在哪里使用
FragmentManager,都至少可以发布帖子。更改片段时会发生崩溃吗?发布如何更改片段的代码。等等 -
我已经开始看到这个崩溃,但只是在使用 ProGuard 混淆之后。还有什么建议吗?
-
@seufagner 那里的堆栈跟踪显然与这里的不一样,唉。
标签: java android android-fragments android-support-library