我有一个显示对话碎片的活动。 我已经将dialogfragment取消设置为false,但基础活动仍然会捕获后退按钮。 我的底层活动已经覆盖了onBackPressed方法,但我不想在显示dialogfragment时运行它。
在显示dialogfragment时如何禁用后退按钮? 如果显示了dialogfragment,我是否从活动onBackPressed方法检查并忽略后退按钮?
答案 0 :(得分:0)
你必须尝试这样的.. 您的活动中的代码粘贴
当您显示dialogfragment
时,时间集shouldAllowBack
为false,否则设置为true
@Override
public void onBackPressed() {
if (!shouldAllowBack) {
doSomething...;
} else {
super.onBackPressed();
}
}
或
遵循此方法
@Override
public boolean onKeyDown(int keyCode, KeyEvent event) {
if(!shouldAllowBack && keyCode==KeyEvent.KEYCODE_BACK) {
return false;
}
return super.onKeyDown(keyCode, event);
}
答案 1 :(得分:0)
显示 DialogFragment
设置isBackDisable = true
以及onBackPressed():
@Override
public void onBackPressed() {
if (isBackDisable) return; // funtion will do nothing
// do something from here.
Log.e("back disabled",false); // if isBackDisable = false then log will be printed
}