ActionDone imeOption не работает на EditText в Android 2.3

У меня проблема с использованием EditText в Android 2.3.

У меня есть EditText, определенный с помощью свойства android:imeOptions="actionDone", но когда я пишу виртуальной клавиатурой, ключ возврата не обнаруживает actionDone и вводит обратную линию.

В Android 2.2 работает правильно.

<EditText android:layout_height="wrap_content"
    android:layout_width="fill_parent" 
    android:imeOptions="actionDone" />

Ответ 1

Я решил эту проблему. Я добавил свойство android:singleLine="true", и он работает правильно.

<EditText android:layout_height="wrap_content"
    android:layout_width="fill_parent" 
    android:imeOptions="actionDone"
    android:singleLine="true" 
 />

Ответ 2

Еще одна заслуживающая внимания точка зрения заключается в том, что android:imeOptions не работают, если вы укажете android:digits. Не уверен, что это влияет на все версии Android.

Ответ 3

В настоящее время в Android Studio 2.2.3, если вы используете

android:singleLine="true"

IDE дает предупреждение о том, что он устарел, используя maxlines вместо.

android:maxLines="1"

Однако maxLines не решает проблему. Решение состоит в том, чтобы просто добавить атрибут inputType. Пример:

<EditText
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:id="@+id/actionDoneDemo"
    android:layout_below="@id/nameET"
    android:imeOptions="actionDone"
    android:hint="Action Done Demo"
    android:inputType="text"/>

Ответ 4

просто укажите inputType.

он работает со мной