要使用Android导航组件的返回栈功能,首先需要在项目中引入相关依赖库。在app的build.gradle文件中添加以下依赖:
implementation 'androidx.navigation:navigation-fragment-ktx:2.4.0'
implementation 'androidx.navigation:navigation-ui-ktx:2.4.0'
接下来,我们假设有两个Fragment:FragmentA和FragmentB。
navigation
的文件夹,并在其中创建一个名为nav_graph.xml
的文件。以下是一个示例:
findNavController().navigate()
方法来导航到FragmentB。以下是一个示例:import androidx.fragment.app.Fragment
import androidx.navigation.fragment.findNavController
class FragmentA : Fragment() {
// ...
// 在需要导航到FragmentB的地方调用该方法
fun navigateToFragmentB() {
findNavController().navigate(R.id.action_fragmentA_to_fragmentB)
}
}
NavigationUI.setupActionBarWithNavController()
方法来设置ActionBar的返回按钮。以下是一个示例:import androidx.appcompat.app.AppCompatActivity
import androidx.navigation.findNavController
import androidx.navigation.ui.NavigationUI
class MainActivity : AppCompatActivity() {
// ...
override fun onSupportNavigateUp(): Boolean {
val navController = findNavController(R.id.nav_host_fragment)
return NavigationUI.navigateUp(navController, appBarConfiguration)
}
}
现在,当在FragmentB中按下ActionBar的返回按钮时,将返回到FragmentA。同时,你还可以使用系统的返回按钮来导航回上一个Fragment。
下一篇:Android导航组件更改返回栈