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 回答