繁体   English   中英

片段未显示在 Android 导航组件中

[英]Fragments are not displaying in Android Navigation component

我是这个架构的新手,我试图在Android 导航组件中添加多个片段,但片段在列表中不可见。

在此处输入图片说明

如您所见,主机是唯一可用的。

我也看过这个问题,但它没有帮助我。

现在,这些是文档中使用的依赖项:

def nav_version = "2.1.0-beta02"
    def nav_version_ktx = "2.1.0-beta02"

     // Java
    implementation "androidx.navigation:navigation-fragment:$nav_version"
    implementation "androidx.navigation:navigation-ui:$nav_version"

    // Kotlin
    implementation "androidx.navigation:navigation-fragment-ktx:$nav_version_ktx"
    implementation "androidx.navigation:navigation-ui-ktx:$nav_version_ktx"

和这个 :

buildscript {
    ext.kotlin_version = '1.3.31'
    repositories {
        google()
        jcenter()

    }
    dependencies {
        classpath 'com.android.tools.build:gradle:3.4.2'
        classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version"
        // NOTE: Do not place your application dependencies here; they belong
        // in the individual module build.gradle files
    }
}

allprojects {
    repositories {
        google()
        jcenter()

    }
}

然后我的片段如下:

class BlankFragment2 : Fragment() {

    override fun onCreateView(
        inflater: LayoutInflater, container: ViewGroup?,
        savedInstanceState: Bundle?
    ): View? {
        // Inflate the layout for this fragment
        return inflater.inflate(R.layout.fragment_blank_fragment2, container, false)
    }


}

它是xml

<?xml version="1.0" encoding="utf-8"?>
<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
             xmlns:tools="http://schemas.android.com/tools"
             android:layout_width="match_parent"
             android:layout_height="match_parent"
             tools:context=".BlankFragment2">

    <!-- TODO: Update blank fragment layout -->
    <TextView
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            android:text="@string/hello_blank_fragment"/>

</FrameLayout>

我的android studio版本是3.4.2

这可能是什么原因?

我使用的是 2.1.0-alpha02 版本并且没有问题。 尝试更改您的 nav_version_ktx 和 nav_version

这也是我github上的一个示例,以防万一你想检查一些东西。 不过我觉得是版本问题

好吧,我得到了解决方案,我只是将我的应用程序迁移到使用Androidx ,这使图表按预期工作。

在您的导航图中添加“tools:layout="@layout/fragment_your_layout”

<navigation 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"
    android:id="@+id/main_navigation"
    app:startDestination="@id/home2Fragment">

    <fragment
        android:id="@+id/newProfileContentFragment"
        android:name="com.adidas.app.profile2.NewProfileContentFragment"
        android:label="NewProfileContentFragment"
        tools:layout="@layout/fragment_your_layout"
        />

</navigation>

检查build.gradle.是否有NavigationComponent依赖build.gradle.

 ext.navigation_version = "2.3.5"

 // Navigation
    implementation "androidx.navigation:navigation-fragment-ktx:$navigation_version"
    implementation "androidx.navigation:navigation-ui-ktx:$navigation_version"
    implementation "androidx.navigation:navigation-dynamic-features-fragment:$navigation_version"
    androidTestImplementation "androidx.navigation:navigation-testing:$navigation_version"

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM