0

ユーザーがチェックボックスなどのアクティビティ内の他の UI 要素に触れた瞬間に EditText がフォーカスを失うようにしたい、またはアクティビティ内の EditText の外側の場所に実際に触れたときに、これは起こっていません。フォーカスは、ユーザーが別の EditText への入力を開始したときにのみ変更されます。たとえば、チェックボックスをクリックしたときや、画面の他の領域をクリックしたときではありません。

4

2 に答える 2

2

レイアウト内のすべてのウィジェットに次の 2 行を追加する必要があるようです。

android:focusable="true"
android:focusableInTouchMode="true"

そうすれば、それらはすべてフォーカスを受け取ることができ(通常は特定のものだけがフォーカスされます)onFocusChangeListener、問題の EditText にアタッチでき、目的の結果が得られるはずです。

もちろん、これは他のウィジェットに大損害を与える可能性もありますが (それらが何であるかはわかりません)、試してみる価値はあります。

于 2012-07-06T23:57:28.660 に答える
-1

別のビューのクリックイベントでアンドロイドソフトキーボードを強制的に閉じることはできませんか?

InputMethodManager imm = (InputMethodManager) getSystemService(Context.INPUT_METHOD_SERVICE); 
imm.toggleSoftInput(InputMethodManager.SHOW_FORCED, 0);

トグル呼び出しは文字通りそれを行います-開いている場合は閉じ、閉じている場合は開きます!

于 2012-07-06T21:02:39.090 に答える