在Android上使用导航控制器从详细信息导航回到主屏幕,可以通过以下步骤实现:
implementation "androidx.navigation:navigation-fragment-ktx:2.4.0"
implementation "androidx.navigation:navigation-ui-ktx:2.4.0"
<fragment>
标签定义主屏幕和详细信息屏幕,并使用<action>
标签定义从主屏幕到详细信息屏幕的导航路径,以及从详细信息屏幕返回主屏幕的导航路径。示例导航图(nav_graph.xml):
<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/nav_graph"
app:startDestination="@id/mainFragment">
<fragment
android:id="@+id/mainFragment"
android:name="com.example.MainFragment"
android:label="Main Fragment">
<!-- 定义从主屏幕到详细信息屏幕的导航路径 -->
<action
android:id="@+id/action_mainFragment_to_detailFragment"
app:destination="@id/detailFragment" />
</fragment>
<fragment
android:id="@+id/detailFragment"
android:name="com.example.DetailFragment"
android:label="Detail Fragment">
<!-- 定义从详细信息屏幕返回主屏幕的导航路径 -->
<action
android:id="@+id/action_detailFragment_to_mainFragment"
app:destination="@id/mainFragment"
app:popUpTo="@id/mainFragment"
app:popUpToInclusive="true" />
</fragment>
</navigation>
Navigation.findNavController()
方法获取导航控制器,并在适当的时机调用navigate()
方法导航到详细信息屏幕。val navController = Navigation.findNavController(view)
navController.navigate(R.id.action_mainFragment_to_detailFragment)
Navigation.findNavController()
方法获取导航控制器,并在适当的时机调用navigate()
方法返回主屏幕。val navController = Navigation.findNavController(view)
navController.navigate(R.id.action_detailFragment_to_mainFragment)
这样,你就可以在Android上使用导航控制器从详细信息导航回到主屏幕了。
腾讯云相关产品和产品介绍链接地址:
领取专属 10元无门槛券
手把手带您无忧上云