android导航控制器返回上一级

问题描述

我正在使用导航控制器。

我想知道是否应该添加其他目的地以返回?或有一个内置的调用可以做到这一点。

override fun onCreateView(
    inflater: LayoutInflater,container: ViewGroup?,savedInstanceState: Bundle?
): View? {
    return inflater.inflate(R.layout.fragment_sign_up,container,false).apply {
        val navController = NavHostFragment.findNavController(this@SignUpFragment)

        this.btnSignUp.setOnClickListener {
            navController.navigate(R.id.action_signUpFragment_to_homeActivity)
        }
        this.btnGotoLogin.setOnClickListener {
            navController.navigate(R.id.action_signUpFragment_to_loginFragment)
        }

        this.back_to_auth_selection.setOnClickListener {
            // should I add another action ?
        }
    }
}

解决方法

 this.back_to_auth_selection.setOnClickListener
        {
            activity?.onBackPressed()
        }
,

您还可以在除首页片段之外的每个片段上都包含一个向上按钮

要在主要活动中做到这一点`

class MainActivity : AppCompatActivity() {
    override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)
        setContentView(R.layout.activity_main)
        
        // use nav controller to add Up-Button to the app
        val navController = this.findNavController(R.id.nav_host_fragment)

        // link the navigation controller to the app bar
        NavigationUI.setupActionBarWithNavController(this,navController)

    }

    //override onSupportNavigateUp() to call navigateUp() in the navigation controller
    override fun onSupportNavigateUp(): Boolean {

        val navController = this.findNavController(R.id.nav_host_fragment)
        return navController.navigateUp()
    }
}`

对不起,我的代码在Kotlin中

相关问答

错误1:Request method ‘DELETE‘ not supported 错误还原:...
错误1:启动docker镜像时报错:Error response from daemon:...
错误1:private field ‘xxx‘ is never assigned 按Alt...
报错如下,通过源不能下载,最后警告pip需升级版本 Requirem...