Android EditTxt вопрос, заменить ввод клавиатуры с готово - PullRequest
5 голосов
/ 22 июня 2010

Я определяю текст для редактирования примерно так ...

<EditText
android:id="@+id/user"
android:layout_width="200px"
android:layout_height="wrap_content"
android:text="Username"
android:textSize="18sp"
android:gravity="center"
android:layout_x="64px"
android:layout_y="140px"
>

Я бы хотел заменить кнопку «Ввод», которая появляется на клавиатуре автоматически, на кнопку «Готово», которая просто закрывает клавиатуру, когда пользователь нажимает на нее. Я видел, как это было сделано в нескольких приложениях (например, в Twitter-приложении Nexus One), и хотел бы реализовать нечто подобное. кто-нибудь знает как?

Также возможно ли получить текст, который появляется по умолчанию, для автоматического стирания, когда пользователь нажимает для редактирования поля редактирования текста? Спасибо,

Ответы [ 5 ]

12 голосов
/ 22 июня 2010

Простое решение: добавьте android:singleLine="true" для EditText.Это заменит ввод на «Далее» (для всех правок, кроме последнего) и «Готово» (для последнего).

5 голосов
/ 23 марта 2012

Просто добавьте в EditText XML: android:imeOptions="actionDone"

3 голосов
/ 19 марта 2017

Вот обновленный ответ:

android:maxLines="1"

Принятый ответ android:singleLine="true" устарел.

2 голосов
/ 22 июня 2010

По поводу вашего другого вопроса, чтобы получить текст для автоматического стирания, вы должны включить его в android:hint вместо android:text.

1 голос
/ 02 июля 2014
android:imeOptions="actionNext"

Он заменяет имя клавиши ввода на «виртуальной клавиатуре» на «Далее» и, щелкая по ней, фокус переходит к следующему полю

В вашем макете вы будете делать такие вещи

<EditText
    ...
    android:text="Field 1"
    android:imeOptions="actionNext" />
<EditText
    ...
    android:text="Field 2"
    android:imeOptions="actionNext" />

А на Яве

TextView field2 = (TextView) field1.focusSearch(View.FOCUS_RIGHT);
field2.requestFocus();

Вам решать, какое поле будет запрашивать фокус.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...