代码与范例:
1 2 3 4 5 6 7 8 9 10 |
edittext.requestFocus(); //edittext是一个EditText控件 Timer timer = new Timer(); //设置定时器 timer.schedule(new TimerTask() { @Override public void run() { //弹出软键盘的代码 InputMethodManager imm = (InputMethodManager)getSystemService(Context.INPUT_METHOD_SERVICE); imm.showSoftInput(edittext, InputMethodManager.RESULT_SHOWN); imm.toggleSoftInput(InputMethodManager.SHOW_FORCED, InputMethodManager.HIDE_IMPLICIT_ONLY); } }, 300); //设置300毫秒的时长 |
说明:同样是在写Techo Lite时遇到的问题。希望程序可以自动弹出软键盘,可是尝试了各种办法都没有效果。问题的原因似乎是必须等待UI绘制完成后弹出软键盘的代码才会有效。于是就采用了上面的方法。需要注意的是,在此之前必须让edittext获取焦点,不然也是无效的。