を使用して入力ボックスを表示していますAlertDialog
。EditText
を呼び出すとダイアログ自体の内部が自動的にフォーカスされますAlertDialog.show()
が、ソフトキーボードは自動的に表示されません。
ダイアログが表示されたときにソフト キーボードを自動的に表示するにはどうすればよいですか? (物理/ハードウェア キーボードはありません)。検索ボタンを押してグローバル検索を呼び出すと、ソフト キーボードが自動的に表示されるのと同じです。
ベストアンサー1
EditText
のにフォーカス リスナーを作成してAlertDialog
、AlertDialog
の を取得できますWindow
。そこから を呼び出すことでソフト キーボードを表示できますsetSoftInputMode
。
final AlertDialog dialog = ...;
editText.setOnFocusChangeListener(new View.OnFocusChangeListener() {
@Override
public void onFocusChange(View v, boolean hasFocus) {
if (hasFocus) {
dialog.getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_STATE_ALWAYS_VISIBLE);
}
}
});