0

独自のカスタム キーパッドがあるため、アプリケーションでソフトキーパッドを無効にしました。しかし問題は、カスタム キーパッドからデータを入力するために編集テキストをクリックしたときに、編集テキストがまったく強調表示されないことです。クリックされたそれぞれの編集テキスト内にはカーソルも表示されません。ソフト キーパッドを無効にすると常に副作用が発生するのはなぜですか? stackoverflow を含むソースにあるすべての提案を試しましたが、何も機能しませんでした。クリックしたときに編集テキストを強調表示する完璧なソリューションを手に入れることはできますか?

4

2 に答える 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 に答える