当活动是主应用程序的一部分时,我在下面发布的代码工作。然而,当我将项目(其中活动是其中的一部分)作为库导入另一个项目并通过startActivitiy()
调用活动时,我有null
问题。
我的活动有以下代码-
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_main)
val navHostFragment =
supportFragmentManager.findFragmentById(R.id.wlimpl_main_activity_nav_fragment) as NavHostFragment
navController = navHostFragment.navController
}
,supportFragmentManager.findFragmentById(R.id.wlimpl_main_activity_nav_fragment)
返回null
XML——
<?xml version="1.0" encoding="utf-8"?>
<androidx.fragment.app.FragmentContainerView
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/wlimpl_main_activity_nav_fragment"
android:name="androidx.navigation.fragment.NavHostFragment"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@color/white_space_white"
app:defaultNavHost="true"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent"
app:navGraph="@navigation/wlimpl_auth_nav_graph"
tools:context=".MainActivity" />
我做错了什么?
编辑:
通过supportFragmentManager.fragments
检查显示0个碎片。
结果是库模块中的activity_main
与主应用程序中的activity_main
冲突。我不得不重命名其中一个xml文件。