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