У меня есть EditText, где я хочу сам обрабатывать входные данные, поэтому я не хочу, чтобы клавиатура отображалась, когда я нажимаю на нее (или когда изменения выбора, изменение фокуса, длительное нажатие, и т.д). Тем не менее, я по-прежнему хочу выбрать текст, изменить положение курсора, скопировать/прошлое и т. Д.Отключить мягкую клавиатуру для Edittext
Я попытался поставить андроид: windowSoftInputMode = "stateAlwaysHidden" в манифесте, но это, похоже, не делает , Я также попытался добавить следующее:
edittext.setOnTouchListener(new OnTouchListener() {
@Override public boolean onTouch(View v, MotionEvent event) {
EditText edittext = (EditText) v;
int inType = edittext.getInputType(); // Backup the input type
edittext.setInputType(InputType.TYPE_NULL); // Disable standard keyboard
edittext.onTouchEvent(event); // Call native handler
edittext.setInputType(inType); // Restore input type
return true; // Consume touch event
}
});
который отключает клавиатуру, а также не позволяет курсору работать.
В настоящее время я в основном пытаюсь добавить слушателей для всех ситуаций, когда клавиатура может появиться, чтобы переключить ее, но это очень неуклюже, и я не могу поймать все случаи. Есть ли лучший способ отключить мягкую клавиатуру для конкретного EditText или фрагмента?
Если вы сами обрабатываете входные данные, почему бы не просто «TextView»? Вы можете сделать это по выбору, которое, я думаю, даст вам то, чего вы хотите. – draksia
make editText unselected on touch – Barun
Я также хочу, чтобы мигающий курсор из EditText, и хотел бы, чтобы он работал с аппаратной клавиатурой и другими методами ввода. –