独自のカスタム キーパッドがあるため、アプリケーションでソフトキーパッドを無効にしました。しかし問題は、カスタム キーパッドからデータを入力するために編集テキストをクリックしたときに、編集テキストがまったく強調表示されないことです。クリックされたそれぞれの編集テキスト内にはカーソルも表示されません。ソフト キーパッドを無効にすると常に副作用が発生するのはなぜですか? stackoverflow を含むソースにあるすべての提案を試しましたが、何も機能しませんでした。クリックしたときに編集テキストを強調表示する完璧なソリューションを手に入れることはできますか?
質問する
518 次
2 に答える
1
これらの副作用が発生する理由はわかりませんが、この投稿では、キーボードを無効にしてカーソルを維持する方法が回避策になっています。フォーカスをリクエストする必要があったことを除けば、それは私にとってはうまくいきました。
//disable keypad
et.setOnTouchListener(new OnTouchListener(){
@Override
public boolean onTouch(View v, MotionEvent event) {
int inType = et.getInputType(); // backup the input type
et.setInputType(InputType.TYPE_NULL); // disable soft input
et.onTouchEvent(event); // call native handler
et.setInputType(inType); // restore input type
et.requestFocus(); // request focus
return true; // consume touch even
}
});
于 2012-09-03T21:15:16.857 に答える
1
textView.requestFocus()
このようにクリックされたときに呼び出す必要があります。ハイライトeditText
することができます
XML ファイルに
この属性を追加することも忘れないでandroid:focusableInTouchMode="true"
ください。EditText
于 2012-09-03T14:48:25.673 に答える