簡體   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