1. ホーム
  2. android

[解決済み] Android: EditTextにフォーカスがあるとき、自動的にソフトキーボードを表示する

2022-03-15 08:19:09

質問

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

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

解決方法を教えてください。

にフォーカスリスナーを作成することができます。 EditText の上に AlertDialog を取得し、次に AlertDialog 's 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);
        }
    }
});