在网上看了一圈,都说的是调用InputMethodManager就能控制输入法对话框。
代码如下:
InputMethodManager im = (InputMethodManager) getContext()
.getSystemService(Context.INPUT_METHOD_SERVICE);
im.showSoftInput(mEditText, 0);
试用了一下,发现该方法直接使用是无效果的。必须new一个Runnable放里面才可以。如下:
1 mEditText.post(new Runnable() { 2 3 @Override 4 public void run() { 5 InputMethodManager im = (InputMethodManager) getContext() 6 .getSystemService(Context.INPUT_METHOD_SERVICE); 7 im.showSoftInput(mEditText, 0); 8 } 9 });
这样才真正有效。具体原因未知。做一标记~~~~