[英]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.