java.lang.IllegalArgumentException:找不到的视图(android:id/content)

java.lang.IllegalArgumentException:找不到的视图(android:id/content),android,navigation,fragment,Android,Navigation,Fragment,我们正在使用的图书馆,Usabilla: 当某个事件发生时,在应用程序中的任意点显示横幅片段 我们调用触发事件的唯一方法是: Usabilla.sendEvent(applicationContext,eventString) 当活动布局没有片段标记时,它可以正常工作。但是当我们在布局中包含一个NavHostFragment时,应用程序崩溃,因为记录器说(android:id/content)的视图为空。我们能做些什么来解决这个问题(这样即使使用NavHostFragment,也能找到andr

我们正在使用的图书馆,Usabilla:

当某个事件发生时,在应用程序中的任意点显示横幅片段

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

当活动布局没有片段标记时,它可以正常工作。但是当我们在布局中包含一个NavHostFragment时,应用程序崩溃,因为记录器说(android:id/content)的视图为空。我们能做些什么来解决这个问题(这样即使使用NavHostFragment,也能找到android:id/content)

堆栈跟踪:

2020-10-29 06:00:05.796 22184-22184/au.com.nib.memberapp.develope E/AndroidRuntime:致命异常:main 流程:au.com.nib.memberapp.develope,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.RemovedAndTopOperationsAndExecute(FragmentManager.java:1959) 位于androidx.fragment.app.FragmentManager.ExecutPendingActions(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)

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

请共享您的日志。请参阅编辑后的文章。您能否为已解决的问题共享您的xml文件?请参阅答案。