【问题标题】:java.lang.IllegalArgumentException: No view found for (android:id/content)java.lang.IllegalArgumentException:未找到 (android:id/content) 的视图
【发布时间】:2020-10-28 09:09:32
【问题描述】:

我们正在使用的库,Usabilla: https://github.com/usabilla/usabilla-u4a-android-sdk/issues/180#

当某个事件发生时,在应用程序中的任何位置呈现横幅片段。

我们调用来触发事件的唯一方法是: Usabilla.sendEvent(applicationContext,eventString)

当活动布局没有片段标签时,它可以正常工作。但是当我们在布局中包含 NavHostFragment 时,应用程序会崩溃,因为 logger 说 (android:id/content) 的视图为空。有什么想法可以解决这个问题(这样即使使用 NavHostFragment,仍然可以找到 android:id/content)?

堆栈跟踪:

2020-10-29 06:00:05.796 22184-22184/au.com.nib.memberapp.develop E/AndroidRuntime: 致命异常: main 进程:au.com.nib.memberapp.develop,PID:22184 java.lang.IllegalArgumentException:没有为片段 BannerFragment{32c54c0} (c7b3bbc0-668a-4553-9c52-f031b04f8a83) id=0x1020002} 找到 id 0x1020002 (android:id/content) 的视图 在 androidx.fragment.app.FragmentStateManager.createView(FragmentStateManager.java:315) 在 androidx.fragment.app.FragmentManager.moveToState(FragmentManager.java:1199) 在 androidx.fragment.app.FragmentManager.moveToState(FragmentManager.java:1368) 在 androidx.fragment.app.FragmentManager.moveFragmentToExpectedState(FragmentManager.java:1446) 在 androidx.fragment.app.FragmentManager.moveToState(FragmentManager.java:1509) 在 androidx.fragment.app.BackStackRecord.executeOps(BackStackRecord.java:447) 在 androidx.fragment.app.FragmentManager.executeOps(FragmentManager.java:2181) 在 androidx.fragment.app.FragmentManager.executeOpsTogether(FragmentManager.java:2004) 在 androidx.fragment.app.FragmentManager.removeRedundantOperationsAndExecute(FragmentManager.java:1959) 在 androidx.fragment.app.FragmentManager.execPendingActions(FragmentManager.java:1861) 在 androidx.fragment.app.FragmentManager$4.run(FragmentManager.java:413) 在 android.os.Handler.handleCallback(Handler.java:883) 在 android.os.Handler.dispatchMessage(Handler.java:100) 在 android.os.Looper.loop(Looper.java:237) 在 android.app.ActivityThread.main(ActivityThread.java:8167) 在 java.lang.reflect.Method.invoke(本机方法) 在 com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:496) 在 com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1100)

【问题讨论】:

  • 分享你的日志
  • 完成。请参阅编辑后的帖子。
  • 你能分享你的xml文件吗
  • 问题已解决 - 请参阅答案。

标签: android navigation fragment


【解决方案1】:

我们解决了上述问题。问题出在 Usabilla.updateFragmentManager(需要在 Usabilla.sendEvent(applicationContext,eventString) 之前调用)。之前,我们使用了当前fragment的parentFragmentManager。我们切换到了activity.supportFragmentManager,它工作了。

【讨论】:

    猜你喜欢
    • 2014-10-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-04-17
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多