当前位置: 首页 > 知识库问答 >
问题:

如何用android导航组件解决碎片中的错误

东门涵育
2023-03-14

java.lang.runtimeException:无法启动活动ComponentInfo{com.farmbuy/com.farmbuy.farmer.farmersactivity}:Android.view.farmersactivity:二进制XML文件行#49:二进制XML文件行#49:在Android.app.activitythread.performLaunchActivity(ActivityThread.java:2927)在Android.app.activityThread.handleLaunchActivity(ActivityThread.java:2988)在dispatchMessage(handler.java:102)(android.os.looper.loop(looper.java:154)(android.app.activitythread.main(activitythread.java:6682)(java.lang.reflect.Method.invoke(Native Method)(com.android.internal.os.zygoteinit$methodandargscaller.run(zygoteinit.java:1410)(zygoteinit.main(zygoteinit.java:1410)由:Android.view.fillateException:二进制XML文件第49行:由:java.lang.illegalstateException:没有通过app:startdestination for com.farmbuy:id/farmer_nav_graph定义开始目的地:在AndroidX.navigation.navgraphnavigator.navigator.navigator.navgraphnavigator.navgraphnavigator.java:61)在(navcontroller.java:586)在AndroidX.navigation.navcontroller.setgraph(navcontroller.java:551)在AndroidX.navigation.navcontroller.setgraph(navcontroller.java:533)在AndroidX.navigation.fragment.navhostfragment.oncreate(navhostfragment.java:238)在AndroidX.fragment.app.fragment.performcreate(fragment.java:2684)在在AndroidX.fragment.app.fragment.fragment.app.fragmentManager.moveTostate(fragmentManager.java:1175),在AndroidX.fragment.app.fragmentlayoutflagaterfactory.oncreateView(fragmentlayoutinflateFactory.oncreateView(fragmentlayoutinflateFactory.java:1356),在AndroidX.fragment.app.fragmentlayoutinflateFactory.java:109),(fragmentactivity.java:335)在Android.view.layoutinflater.createViewFromTag(layoutinflater.java:784),在Android.view.layoutinflater.java:734),在Android.view.layoutinflater.createViewFromTag(layoutinflater.java:734),在Android.view.layoutinflater.rablateFromTag(layoutinflater.java:865),在在andro进行充气(LayoutInflater.java:378)idx.appcompat.app.appcompatdelegateimpl.setContentView(appcompatdelegateimpl.java:696)在Android.appcompat.app.appcompatactivity.setContentView(appcompatactivity.java:170)在com.farmbuy.farmer.farmersactivity.oncreate(farmersactivity.kt:13)在Android.app.activity.performCreate(activity.java:6942),在在Android.app.activityThread.java:2988),android.app.activityThread.-Wrap14(activityThread.java),android.app.activityThread.$h.handleMessage goteinit.java:1520)在com.android.internal.os.zygoteinit.main(zygoteinit.java:1410)

共有1个答案

宰父保臣
2023-03-14

看起来您还没有在导航图中确定一个开始目的地。必须有一个启动目标,这是你想要显示给用户当用户启动应用程序的片段。

在导航图app:startdestination=“@id/fragmentId中添加此内容。这里fragmentId是首次启动app时应该显示的片段的id

 类似资料:
  • 我有X、A、B片段,我使用导航架构组件在它们之间导航。 片段A、B特异性,但片段X可以是任何(C、D、...); 底部导航中的片段A和B及其“导航图标”始终在屏幕上,这意味着用户可以随时从任何片段(包括A和B)转到A或B: <代码>X- <代码>X- <代码>A- <代码>A-

  • 下面是我的代码。 有没有人能帮我解决这个mainActivity和片段代码中的logcat的问题。

  • 我正在尝试在我现有的应用程序中使用Jetpack的架构组件实现导航。 我有一个单一的活动应用程序,其中主要片段(。因此,当按下back时,将分离细节片段,并再次显示ListFragment。 对于导航架构,这是自动处理的。不是添加它被替换的新片段,因此片段视图被销毁,而是在按下back以重新创建视图时调用和。 我知道这是一个很好的模式,用于LiveData和ViewModel,以避免使用超过必要的

  • 在阅读了关于片段和活动的文档和讨论后,我想我已经把情况弄清楚了。 活动应该为用户提供一个屏幕,用户可以在其中工作。导航到其他屏幕通常会破坏活动。 片段应该提供很少或单个功能组件,可以在活动中再次使用。片段的内容应该相互独立地工作,因此可以在多个活动中重用。 虽然这一切似乎都有道理,但有一件事我无法理解: 如果您创建一个新的Android应用程序,并选择创建Android导航抽屉应用程序的选项,为什

  • 我可以在D片段参数中设置所有六个arg,但在这种情况下,我应该在每个方向上传递所有六个变量。那么有没有其他的方法直接传递我想要的args在特定的方向上,然后在D片段中检索它

  • 我已经在我的项目中添加了一个导航抽屉活动,并尝试将项目作为片段添加。这就是我在主要活动中所做的。 默认片段是Home,它工作正常,正如预期的那样,但其他片段与Home片段重叠。(HomeFragment是唯一工作正常的)。我在每个片段类中都做过这样的事情: 我看不出错误在哪里。一切看起来都很好,但所有其他片段都显示在HomeFragment上。