【发布时间】:2012-07-22 22:39:07
【问题描述】:
我想在 AlertDialog 关闭后隐藏软键盘,但它仍然可见。这是我的代码:
alert = new AlertDialog.Builder(MyActivity.this);
imm = (InputMethodManager)getSystemService(Context.INPUT_METHOD_SERVICE);
alert.setOnDismissListener(new DialogInterface.OnDismissListener() {
@Override
public void onDismiss(DialogInterface dialog) {
imm.hideSoftInputFromWindow(getCurrentFocus().getWindowToken(), 0);
}
});
【问题讨论】:
-
您可以在这里找到解决方案:workingfromhere.com/blog/2011/04/27/… 或在这里:stackoverflow.com/questions/1109022/…
-
两种方法都使用 EditText 视图,但我没有。我没有EditText。这是我的 SettingsActivity 中的对话框。当它关闭时键盘显示:(
-
如果您的键盘弹出对话框,这意味着您的对话框中必须有一个 EditText。所以你可以通过传递你的EditText的window-token来编写上面的代码,然后调用dialog.dismiss()
-
或者如果不是上述情况.. 意味着如果 Edittext 不在您的对话框中,您需要检查它弹出的 EditText 并在显示对话框之前隐藏它。如果这也不起作用,请发布您的代码。
标签: android keyboard hide android-softkeyboard soft-keyboard