前言:今天遇到一个奇怪的问题,Activity 里面弹出一个 dialog , 这个dialog里面有EditText 。
问题:当 dialog 里面的输入法出现的时候,此时让diolog 消失,输入法不消失。
效果图如下:
dialog 创建方法:
final AlertDialog.Builder builder = new AlertDialog.Builder(this);
final AlertDialog dialog = builder.create() ;
1、使用下面的代码没有效果
/**
* 隐藏软键盘
*/
void hideInput () {
InputMethodManager inputMethodManager = (InputMethodManager) getSystemService(Context.INPUT_METHOD_SERVICE);
if(inputMethodManager.isActive()){
inputMethodManager.hideSoftInputFromWindow( this.getCurrentFocus().getWindowToken(), 0);
}
}
2、解决方法
//隐藏输入法
InputMethodManager manager= (InputMethodManager) getSystemService(Context.INPUT_METHOD_SERVICE);
manager.hideSoftInputFromWindow( dialog.getCurrentFocus().getWindowToken(), InputMethodManager.HIDE_NOT_ALWAYS);