公司的项目中要求在点击搜索的时候弹出一个搜索框,搜索框中有一个EditText,用于数据搜索关键字,要求在弹出PopupWindow的时候自动弹出软键盘,原以为只要写上着两行代码可以搞的问题:
InputMethodManager inputMethodManager=(InputMethodManager) et_search_key.getContext().getSystemService(Context.INPUT_METHOD_SERVICE);
inputMethodManager.showSoftInput(et_search_key, );
在运行调试的时候,问题来了,没有按照设想的那样,显示软键盘。接下来就是找资料,试了好多方法,就是不行,最后使用Handler异步成功了。下面贴出代码:
private void showSoft(){
Handler handle=new Handler();
handle.postDelayed(new Runnable() { @Override
public void run() {
InputMethodManager inputMethodManager=(InputMethodManager) et_search_key.getContext().getSystemService(Context.INPUT_METHOD_SERVICE);
inputMethodManager.showSoftInput(et_search_key, 0);
}
}, 0);
}