前提・実現したいこと
Activity上に1つしかないet_anserというEdittextで、エンターキーを押されたときに中身をクリアして、フォーカスを維持したまま、ソフトウェアキーボードを表示したままにしたいが消えてしまう。
消さないようにする方法を知りたい。
なお、中身をクリアしてフォーカスを維持したままというのは実現できています。
該当のソースコード
java
1 //エンターキーが押されたとき 2 et_anser.setOnKeyListener(new View.OnKeyListener() { 3 //コールバックとしてonKey()メソッドを定義 4 @Override 5 public boolean onKey(View v, int keyCode, KeyEvent event) { 6 //ボタンが押され、かつエンターキーだったとき 7 if((event.getAction() == KeyEvent.ACTION_DOWN) && (keyCode == KeyEvent.KEYCODE_ENTER)){ 8 9 //誤りのため答えをクリア 10 et_anser.getText().clear(); 11 12 // ソフトウェアキーボード表示 13 getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_STATE_ALWAYS_VISIBLE); 14 return true; 15 } 16 17 return false; 18 } 19 });
試したこと
return trueでブレークしてもキーボードは残っているが、その後の処理の何処かで非表示にされる。
したがって、「ソフトウェアキーボード表示」は実行されるが、その後で非表示にされてしまうので、どのようにすれば表示したままに出来るのか分からない。
補足情報(FW/ツールのバージョンなど)
Android Studio3.4
APIレベル14から28まで対象
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。