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