Android: Удалить клавишу ввода с программной клавиатуры - PullRequest
13 голосов
/ 09 августа 2011

В моей форме входа в систему, когда пользователь нажимает на EditText и нажимает клавишу ввода, это вставляет новую строку, увеличивая, таким образом, размер EditText.В следующий момент он возвращается на прежнее место и печатает точку в поле пароля (которое является следующим полем).

Я хочу удалить эту клавишу ввода с программной клавиатуры.Возможно ли это?

Ответы [ 5 ]

34 голосов
/ 22 декабря 2012

Использование: android:singleLine = "true" или edittext.setSingleLine();

И ваша клавиша ENTER исчезла

23 голосов
/ 09 августа 2011

добавить этот тег в textView в формате xml

    android:singleLine = "true"
19 голосов
/ 09 августа 2011

Боюсь, ты не сможешь этого сделать. Но есть одна вещь, с которой вы можете справиться:

edittext.setOnKeyListener(new OnKeyListener() {

        public boolean onKey(View v, int keyCode, KeyEvent event) {


                if (event.getAction() == KeyEvent.ACTION_DOWN
                        && event.getKeyCode() ==       KeyEvent.KEYCODE_ENTER) {
                    Log.i("event", "captured");

                    return false;
                } 
                else if(event.getAction() == KeyEvent.ACTION_DOWN
                        && event.getKeyCode() == KeyEvent.KEYCODE_BACK){
                    Log.i("Back event Trigered","Back event");

                }

            }

            }
            return false;
        }
    });

Кроме того, вы должны заметить, что предоставление атрибута android:singleLine=true сделает ваш текст редактирования увеличенным в размерах при нажатии программной клавиши ВВОД

3 голосов
/ 24 мая 2016

Внутри тега EditText вам нужно только сделать:

android:singleLine="true"

, чтобы удалить клавишу ввода на клавиатуре

ОБНОВЛЕНИЕ

Поскольку android:singleLine="true" устарело Я использую android:maxLines="1", чтобы избежать ввода в EditText.Как следует из названия метода, допускается только N строк.

0 голосов
/ 28 ноября 2018

Новое обновление:

android: maxLines = "1"

...