Android PopupWindow中EditText获取焦点自动弹出软键盘
公司的项目中要求在点击搜索的时候弹出一个搜索框,搜索框中有一个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 }
【推荐】还在用 ECharts 开发大屏?试试这款永久免费的开源 BI 工具!
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步