Android 调出键盘和隐藏键盘
调出键盘
mEditText.requestFocus();
InputMethodManager imm = (InputMethodManager) getContext().getSystemService(Context.INPUT_METHOD_SERVICE);
imm.showSoftInput(mEditText, InputMethodManager.SHOW_IMPLICIT);
隐藏键盘
InputMethodManager imm = (InputMethodManager) getContext().getSystemService(Context.INPUT_METHOD_SERVICE);
imm.hideSoftInputFromWindow(mEditText.getWindowToken(), 0);
关于 dialog
当使用的 dialog 中包含有 EditText 的时候,你在 show()
之后直接调用上面的代码是无法实现调出键盘的,解决方式非常简单,show()
之后 post 一帧即可。
mEditText.post(new Runnalbe() {
@Override
public void run() {
mEditText.requestFocus();
InputMethodManager imm = (InputMethodManager) getContext().getSystemService(Context.INPUT_METHOD_SERVICE);
imm.showSoftInput(mEditText, InputMethodManager.SHOW_IMPLICIT);
}
}
当然你不一定要这样 post,你也可以自己定义一个
Handler
来进行 post。