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
.
он работает со мной