未设置Android导航java.language.IlLegalStateException片段类

Android Navigation java.language.IllegalStateException fragment class was not set(未设置Android导航java.language.IlLegalStateException片段类)
本文介绍了未设置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

我使用的是安全参数,当我尝试在SavedResultFragmentShowSavedResultsFragment之间导航时,几乎只有一个问题。我试图搜索官方文档和堆栈溢出,但没有找到任何我面临的东西。官方文档提示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片段类的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!

本站部分内容来源互联网,如果有图片或者内容侵犯您的权益请联系我们删除!

相关文档推荐

How to target newer versions in .gitlab-ci.yml using auto devops (java 11 instead of 8 and Android 31 instead of 29)(如何在.gitlab-ci.yml中使用自动开发工具(Java 11而不是8,Android 31而不是29)瞄准较新的版本)
Android + coreLibraryDesugaring: which Java 11 APIs can I expect to work?(Android+core LibraryDesugering:我可以期待哪些Java 11API能够工作?)
How to render something in an if statement React Native(如何在If语句中呈现某些内容Reaction Native)
How can I sync two flatList scroll position in react native(如何在本机Reaction中同步两个平面列表滚动位置)
Using Firebase Firestore in offline only mode(在仅脱机模式下使用Firebase FiRestore)
Crash on Google Play Pre-Launch Report: java.lang.NoSuchMethodError(Google Play发布前崩溃报告:java.lang.NoSuchMethodError)