Android主动弹出输入法

在网上看了一圈,都说的是调用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         });

这样才真正有效。具体原因未知。做一标记~~~~

原文地址:https://www.cnblogs.com/lovejoy/p/3530234.html