FragmentHostCallback.getContext() 上出现 NullPointerException

问题描述 投票:0回答:2

我在通过导航图文件中声明的深层链接导航到片段时遇到了这种随机崩溃。我在我的项目中使用导航组件库。

堆栈跟踪:

Fatal Exception: java.lang.NullPointerException: Attempt to invoke virtual method 'android.content.Context androidx.fragment.app.FragmentHostCallback.getContext()' on a null object reference
   at androidx.fragment.app.FragmentLifecycleCallbacksDispatcher.dispatchOnFragmentPreAttached(FragmentLifecycleCallbacksDispatcher.java:91)
   at androidx.fragment.app.FragmentLifecycleCallbacksDispatcher.dispatchOnFragmentPreAttached(FragmentLifecycleCallbacksDispatcher.java:96)
   at androidx.fragment.app.FragmentStateManager.attach(FragmentStateManager.java:463)
   at androidx.fragment.app.FragmentStateManager.moveToExpectedState(FragmentStateManager.java:275)
   at androidx.fragment.app.FragmentManager.executeOpsTogether(FragmentManager.java:2189)
   at androidx.fragment.app.FragmentManager.removeRedundantOperationsAndExecute(FragmentManager.java:2106)
   at androidx.fragment.app.FragmentManager.execPendingActions(FragmentManager.java:2002)
   at androidx.fragment.app.FragmentManager$5.run(FragmentManager.java:524)
   at android.os.Handler.handleCallback(Handler.java:938)
   at android.os.Handler.dispatchMessage(Handler.java:99)
   at android.os.Looper.loop(Looper.java:223)
   at android.app.ActivityThread.main(ActivityThread.java:7698)
   at java.lang.reflect.Method.invoke(Method.java)
   at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:592)
   at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:952)
android android-fragments android-jetpack android-jetpack-navigation
2个回答
0
投票

我在 Activity 的 onCreate 中缺少

super.onCreate(savedInstanceState)
。超级烦人的是错误描述不更具体。


0
投票

对我来说问题是我使用了

supportFragmentManager
    .beginTransaction()
    .replace(R.id.fragment_container_view, MySettingsFragment())
    .commit()

以及托管片段的 Activity 内的 AndroidX 导航组件。

您可以使用 supportFragmentManager 手动更改片段或使用 AndroidX 导航。

© www.soinside.com 2019 - 2024. All rights reserved.