我有如下代码,可以在进入我的应用程序时立即显示软键盘:
@Override
protected void onResume() {
super.onResume();
...
myEditText.requestFocus();
myEditText.postDelayed(new Runnable() {
@Override
public void run() {
InputMethodManager imm = (InputMethodManager)getSystemService(Context.INPUT_METHOD_SERVICE);
imm.showSoftInput(myEditText, InputMethodManager.SHOW_IMPLICIT);
}
}, 100);
...
}
但是,在 Android 2.1 模拟器上,键盘出现然后立即消失。如果我让延迟更长,比如 1000,它会可靠地出现。在 Android 4.0 模拟器上,延迟 100 可以可靠地显示键盘,但较短的延迟不会。
有谁知道谁可能隐藏了键盘?有可靠的方法来预防吗?如果没有,我可以使用延迟来保证键盘会显示吗?