Как отключить кнопку «Далее» на программной клавиатуре EditText (заменить кнопкой «Готово»)


85

В моем приложении для Android есть несколько EditTexts, для каждого из которых InputMethod задано значение numberSigned. Мое целевое устройство не имеет аппаратной клавиатуры и использует программную клавиатуру для ввода чисел. Android заменяет стандартную кнопку «Готово» справа от поля ввода на кнопку «Далее». Как я могу использовать вместо этого "Готово"?


Мне нужно отключить следующую кнопку. для этого что я могу сделать? Мне не нужна кнопка "Готово" в этом месте. Спасибо
Sivakumar Purushothaman

@SivakumarPurushothaman Я не могу сейчас протестировать вас, но работает ли actionNone?
Эндрю Басс

Ответы:


210

Попробуйте добавить android:imeOptions="actionDone"в свой EditText.

Справка


1
но после выбора текста в редактируемом тексте кнопка «Готово» меняется на кнопку «РЕДАКТИРОВАТЬ» и показывает «вырезать, копировать, вставить»… как отключить это.
Monty

1
А как насчет многострочных текстов редактирования? Похоже, для них это не работает. : /
Sheharyar

7
@SheharyarNaseer типа входного сигнала для уместить EditText должно быть следующее в вашем EditText XML: android:inputType="textImeMultiLine". Тогда android:imeOptionsбудет работа.
macklinu

Привет, спасибо за это. У меня проблема, если я ошибаюсь, пожалуйста, поправьте меня, это работает на каком-то устройстве, а не на некоторых. В HTC и Asus, что Done не отображается, и в устройстве Samsung, которое Done Visible. :)
Дхармик Патель

Примечание. Это решение также хорошо работает для Xamarin: YourEditText.ImeOptions = Android.Views.InputMethods.ImeAction.Done;
YumeYume 01

55

Это также можно сделать в коде с помощью:

myEditText.setImeOptions(EditorInfo.IME_ACTION_DONE);
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.