前言
最近做项目时遇到要求点击非EditText时,使该EditText获取焦点并自动弹出软键盘的需求。由于一般情况下我们点击EditText时会自动弹出系统键盘,而对与点击其他button触发EditText的弹出键盘没做过,于是记录下。
实用场景
1、点击button时,触发EditText的获取焦点和自动弹出软键盘
2、点击某个话题的选项卡,会弹出一个popupwindow,或开启新的ACTIVITY。里面有诸如 评论、回复的选项,你点击这个选项的时候,需要定位到EditText编辑框,并且自动弹出输入法。
方法
editText.requestFocus();
InputMethodManager imm = (InputMethodManager) login_phone_et.getContext().getSystemService(Context.INPUT_METHOD_SERVICE);
if (null != imm) {
imm.toggleSoftInput(0, InputMethodManager.SHOW_FORCED);
}
1、通过requestFocus();获取焦点;
2、通过InputMethodManager强制弹出键盘;
参考文献