在我的活动中,软键盘或多或少应该是打开的。因此,当用户按下后退按钮时,活动应该像正常情况一样结束。但是,默认的android行为是在键盘打开时关闭它。这使得用户必须单击两次才能退出活动。如何重写此行为,以便在按下“后退”按钮(即使软键盘已打开)时活动始终结束?有什么简单的方法吗?
我确信这是一个常见的问题,但我没有发现这个直接的问题。
最佳答案
试试这个。
mEditText.setOnKeyListener(new View.OnKeyListener() {
@Override
public boolean onKey(View v, int keyCode, KeyEvent event) {
finish();
return false;
}
});
您可以隐藏键盘并完成活动。
如果你使用对话框,你可以这样做。
mDialog.setOnKeyListener(new View.OnKeyListener() {
@Override
public boolean onKey(View v, int keyCode, KeyEvent event) {
if (keyCode == KeyEvent.KEYCODE_BACK) {
if (isShowDialog) {
isShowDialog = false;
mDialog.dismiss();
context.finish();
}
}
return false;
}
});
注意:它也可以在对话框中使用。关闭对话框并执行某些操作。您还可以使用
v
、keyCode
、event
。而且大多数视图都可以使用它。