我在我的应用程序中禁用了软键盘,因为我有自己的自定义键盘。但问题是当我单击编辑文本以通过我的自定义键盘输入数据时,编辑文本根本没有突出显示。甚至光标在相应单击的编辑文本中也不可见。为什么禁用软键盘时总是有副作用?我尝试了包括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 回答