Android: EditText にフォーカスがあるときにソフトキーボードを自動的に表示する 質問する

Android: EditText にフォーカスがあるときにソフトキーボードを自動的に表示する 質問する

を使用して入力ボックスを表示していますAlertDialogEditTextを呼び出すとダイアログ自体の内部が自動的にフォーカスされますAlertDialog.show()が、ソフトキーボードは自動的に表示されません。

ダイアログが表示されたときにソフト キーボードを自動的に表示するにはどうすればよいですか? (物理/ハードウェア キーボードはありません)。検索ボタンを押してグローバル検索を呼び出すと、ソフト キーボードが自動的に表示されるのと同じです。

ベストアンサー1

EditTextのにフォーカス リスナーを作成してAlertDialogAlertDialogの を取得できます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);
        }
    }
});

おすすめ記事