Android Navigation java.language.IllegalStateException fragment class was not set(未设置Android导航java.language.IlLegalStateException片段类)
问题描述
Navigation Drawer
在此,当我单击保存结果时,它会显示所有保存的结果和日期。
The image showing saved results in SavedResultsFragment
Navigation Layout
当我单击任何项目时,它应该在ShowSavedResltsFragment中显示该被点击项目的所有详细信息,但安装应用程序崩溃并引发IllegalStateException,且未设置片段类。
The image showing navigation layout and code
The image showing code logic where trying to switch to ShowResultsFragment from SavedResultFragment
SavedResultFragment到ShowSavedResultsFragment之间导航时,几乎只有一个问题。我试图搜索官方文档和堆栈溢出,但没有找到任何我面临的东西。官方文档提示navHostfragment没有正确实现,这可能会触发上述异常,但我使用的是他们的官方文档,但我在这里所做的唯一一件事就是通过导航抽屉导航到Fragment,然后从该片段尝试导航到另一个片段,这就是它中断的地方。
Image showing exception 编辑:NavHostFragment代码
<?xml version="1.0" encoding="utf-8"?>
<layout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools">
<data>
</data>
<merge>
<androidx.drawerlayout.widget.DrawerLayout
android:id="@+id/drawerLayout"
android:layout_width="match_parent"
android:layout_height="match_parent">
<androidx.constraintlayout.widget.ConstraintLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context=".MainActivity">
<androidx.fragment.app.FragmentContainerView
android:id="@+id/myNavHostFragment"
android:name="androidx.navigation.fragment.NavHostFragment"
android:layout_width="0dp"
android:layout_height="0dp"
app:defaultNavHost="true"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintLeft_toLeftOf="parent"
app:layout_constraintRight_toRightOf="parent"
app:layout_constraintTop_toTopOf="parent"
app:navGraph="@navigation/navigation" />
</androidx.constraintlayout.widget.ConstraintLayout>
<com.google.android.material.navigation.NavigationView
android:id="@+id/navVew"
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:layout_gravity="start"
app:headerLayout="@layout/nav_header"
app:menu="@menu/nav_drawer_menu" />
</androidx.drawerlayout.widget.DrawerLayout>
</merge>
</layout>
推荐答案
导航图表中ShowSavedResultsFragment的声明没有附加name属性。
如果您查看SavedResultFragment声明,您会注意到它有一个name属性。
ShowSavedResultsFragment声明添加name属性。name属性的值应该是ShowSavedResultsFragment类的包名。(点)类的名称。类似于com.xxx.yyy.savedresult.ShowSavedResultsFragment
这篇关于未设置Android导航java.language.IlLegalStateException片段类的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!
本文标题为:未设置Android导航java.language.IlLegalStateException片段类
- 在测试浓缩咖啡时,Android设备不会在屏幕上启动活动 2022-01-01
- 如何检查发送到 Android 应用程序的 Firebase 消息的传递状态? 2022-01-01
- 想使用ViewPager,无法识别android.support.*? 2022-01-01
- 使用自定义动画时在 iOS9 上忽略 edgesForExtendedLayout 2022-01-01
- MalformedJsonException:在第1行第1列路径中使用JsonReader.setLenient(True)接受格式错误的JSON 2022-01-01
- 用 Swift 实现 UITextFieldDelegate 2022-01-01
- Android - 拆分 Drawable 2022-01-01
- Android - 我如何找出用户有多少未读电子邮件? 2022-01-01
- android 4中的android RadioButton问题 2022-01-01
- Android viewpager检测滑动超出范围 2022-01-01
