我正在使用新的导航UI来开发新的应用程序。我用菜单项创建了一个抽屉。我可以通过使用导航UI单击抽屉中的其他片段来进行导航。
当用户使用alertDiagLogout方法从抽屉中单击注销菜单项(id logoutDrawer)时,我想显示一个AlertDialog。
我试图在我的主要活动中实现onNavigationItemSelected“ classic”方法,但它破坏了导航UI中的所有Nav图。
你有解决的办法吗?
谢谢
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_main)
profileViewModel = ViewModelProviders.of(this).get(ProfileViewModel::class.java)
this.setupNavigation()
this.configurationToolBar()
}
private fun setupNavigation(){
setSupportActionBar(toolbar)
navController = findNavController(R.id.mainNavFragment)
NavigationUI.setupActionBarWithNavController(this,navController,drawer_layout)
nav_view.setupWithNavController(navController)
}
override fun onSupportNavigateUp(): Boolean {
return NavigationUI.navigateUp(navController,drawer_layout)
}
override fun onBackPressed() {
if (drawer_layout.isDrawerOpen(GravityCompat.START)) {
drawer_layout.closeDrawer(GravityCompat.START)
} else {
super.onBackPressed()
}
}
private fun alertDiagLogout(){
val builder = AlertDialog.Builder(this)
val inflater =layoutInflater
val dialogView = inflater.inflate(R.layout.alert_dialog,null)
builder.setView(dialogView)
dialog = builder.create()
dialog.show()
dialogView.alert_diag_no.setOnClickListener { dialog.dismiss() }
dialogView.alert_diag_yes.setOnClickListener { logoutUser() }
}