У меня есть код, как показано ниже, чтобы сразу же отобразить мягкую клавиатуру при входе в мое приложение:
@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 надежно отображает клавиатуру, но более короткие задержки этого не делают.
Кто-нибудь знает, кто может скрывать клавиатуру? Есть ли надежный способ предотвратить это? Если нет, есть ли задержка, которую я могу использовать, чтобы гарантировать, что клавиатура покажет?