在做一个项目的时候,自定义额了一个Dialog 里面有取消,保存按钮,以及EditText,在输入法弹出的时候,点击取消按钮,自定义dialog对话框关闭了,但是输入法始终关闭不了,在网上找了很多方法,都不能很好的解决,输入法不能关闭的问题。
最好找到的解决办法是 重载Dialog的dismis()方法
处理方式如下:
@Override public void dismiss() { hideKeyBoard();//在dismiss之前先关闭输入法 super.dismiss(); }
public void hideKeyBoard() { InputMethodManager inputMethodManager = (InputMethodManager) getContext().getSystemService(Context.INPUT_METHOD_SERVICE); inputMethodManager.hideSoftInputFromWindow(editText.getWindowToken(), InputMethodManager.HIDE_NOT_ALWAYS); }