我在kotlin中具有以下代码
package com.example.android.navigation
import android.os.Bundle
import androidx.appcompat.app.AppCompatActivity
import androidx.databinding.DataBindingUtil
import androidx.navigation.findNavController
import androidx.navigation.ui.NavigationUI
import com.example.android.navigation.databinding.ActivityMainBinding
class MainActivity : AppCompatActivity() {
private lateinit var binding: ActivityMainBinding
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
binding = DataBindingUtil.setContentView(this, R.layout.activity_main)
val navcon = this.findNavController(R.id.NavFragment)
NavigationUI.setupActionBarWithNavController(this, navcon)
}
override fun onNavigateUp(): Boolean {
val navcon = this.findNavController(R.id.NavFragment)
return navcon.navigateUp()
}
}
代码应该实现后面按钮并使其正常工作(导航后堆栈)。但是,当我运行应用程序并单击生成的后退按钮时,什么也不会发生(该按钮不起作用,但单击时也不会产生错误)。有人知道为什么它不起作用/如何使其正常工作吗?
AppCompatActivity
具有单独的onSupportNavigateUp()
方法,应根据导航操作栏文档而不是onNavigateUp()
使用。