android - kotlin android“OnbackPressed”什么都不覆盖
问题描述
我知道这已经问过几次了,但我还是什么都没得到(我在 android 开发方面还很陌生)。
所以我在 MainActivity.kt 中设置了我的后退按钮,如下所示:
class MainActivity : AppCompatActivity() {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
val binding = DataBindingUtil.setContentView<ActivityMainBinding>(this, R.layout.activity_main)
val navController = this.findNavController(R.id.myNavHostFragment)
NavigationUI.setupActionBarWithNavController(this, navController)
supportActionBar?.setDisplayHomeAsUpEnabled(false)
}
// Set up the back button on action bar
override fun onSupportNavigateUp(): Boolean {
val navController = this.findNavController(R.id.myNavHostFragment)
return navController.navigateUp()
}
}
我想要的是在某些片段中禁用了此后退按钮,因此我尝试在其中一个片段中覆盖该onBackPressed()
功能(这是互联网上大多数人所说的):
class DashboardFragment : Fragment() {
override fun onCreateView(
inflater: LayoutInflater, container: ViewGroup?,
savedInstanceState: Bundle?
): View? {
// Declare that this fragment has menu
setHasOptionsMenu(true)
// Set action bar title to "Main Dashboard"
(activity as AppCompatActivity).supportActionBar?.title = "Main Dashboard"
// Binding object for this fragment and the layout
val binding: FragmentDashboardBinding = DataBindingUtil.inflate(inflater, R.layout.fragment_dashboard, container, false)
//Some codes here//
return binding.root
}
// This is where the error occured
override fun onBackPressed() {
super.onBackPressed()
}
override fun onCreateOptionsMenu(menu: Menu, inflater: MenuInflater) {
super.onCreateOptionsMenu(menu, inflater)
inflater?.inflate(R.menu.nav_overflow_menu, menu)
}
}
但它返回一个错误说:
“OnBackPressed” 覆盖无
我错过了什么吗?我已经在寻找解决方案,但仍然对此感到困惑。
解决方案
谁知道... onSupportNavigateUp() 仅适用于 4.0 及更高版本。对于下面的 onNavigateUp() 被调用。
所以
override fun onNavigateUp(): Boolean {
val navController = this.findNavController(R.id.myNavHostFragment)
return navController.navigateUp()
}
推荐阅读
- javascript - 如何在 Firebase 云功能中批量删除 Firestore 文档
- javascript - firebase_app__WEBPACK_IMPORTED_MODULE_0__ 未定义
- typescript - 在 typescript 中使用 map 函数时确保类型安全
- java - Spring Boot Jpa 更新 Blob 对象不起作用
- android - 如何让 Mariana 主题与 Sublime for Android Studio 完全一样?
- javascript - 如何获取对象数组中的值
- couchdb - 删除 couchDB 中的附件
- amazon-web-services - 尝试修补 SUSE Server AWS 时出现问题
- c# - Bot c# 回退到模拟 OAuth 令牌 + 直线/对话/
/活动 - java - 如何让它循环运行