アプリに入るとすぐにソフトキーボードを表示する次のようなコードがあります。
@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の遅延は確実にキーボードを表示しますが、それより短い遅延は表示されません。
誰がキーボードを隠しているのか誰か知っていますか?それを防ぐための信頼できる方法はありますか?そうでない場合、キーボードが表示されることを保証するために使用できる遅延はありますか?