Mer*_*aju 1 android kotlin bottom-sheet
我有一个底部表单对话框片段,用作底部应用程序栏的菜单。
如果我非常快地单击菜单图标两次,该对话框会显示两次,并且我必须将其关闭两次,这很烦人。
我的代码如下:
活动主页.kt
override fun onOptionsItemSelected(item: MenuItem): Boolean {
return when (item.itemId) {
android.R.id.home -> {
if(mBottomNavDrawerFragment != null && mBottomNavDrawerFragment!!.dialog!!.isShowing){
mBottomNavDrawerFragment?.dismiss()
return false
}
mBottomNavDrawerFragment = RoundedBottomSheetDialogFragment()
mBottomNavDrawerFragment?.show(supportFragmentManager, mBottomNavDrawerFragment?.tag)
true
}
R.id.BottomAppBar_fromHomeActivity_MenuMain_Search -> {
Toast.makeText(this, "Not Implemented yet!", Toast.LENGTH_SHORT).show()
false
}
else -> true
}
}
Run Code Online (Sandbox Code Playgroud)
有人可以帮忙吗?谢谢
raj*_*ala 12
使用标签显示dialogFragment。在再次显示之前检查标签是否存在于堆栈中
if(getChildFragmentManager().findFragmentByTag(FragmentDialog.TAG) == null) {
fragmentDialog.show(getChildFragmentManager(), FragmentDialog.TAG);
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2151 次 |
| 最近记录: |