У меня довольно сложный (не совсем) файл макета xml. Одно из представлений - это LinearLayout ( v1
) с двумя дочерними элементами : EditText ( v2
) и еще одним LinearLayout ( v3
). Дочерний LinearLayout, в свою очередь, имеет EditText ( v4
) и ImageView ( v5
).
Для EditText v2 у меня есть imeOptions как
android:imeOptions="actionNext"
Но когда я запускаю приложение, клавиатура return
не проверяет, next
и я хочу изменить его на next
. Как мне решить эту проблему?
Кроме того, когда пользователь нажимает кнопку «Далее», я хочу, чтобы фокус переместился на EditText v4. Я делаю это?
Для тех, кому действительно нужен код:
<LinearLayout
android:id="@+id/do_txt_view"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="@color/col6"
android:orientation="vertical"
android:visibility="gone" >
<EditText
android:id="@+id/gm_title"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_margin="5dp"
android:background="@drawable/coldo_text"
android:hint="@string/enter_title"
android:maxLines="1"
android:imeOptions="actionNext"
android:padding="5dp"
android:textColor="pigc7"
android:textSize="ads2" />
<LinearLayout
android:layout_width="match_parent"
android:layout_height="100dp"
android:orientation="horizontal" >
<EditText
android:id="@+id/rev_text"
android:layout_width="0dp"
android:layout_height="match_parent"
android:layout_gravity="center_vertical"
android:layout_margin="5dp"
android:layout_weight="1"
android:background="@drawable/coldo_text"
android:hint="@string/enter_msg"
android:maxLines="2"
android:padding="5dp"
android:textColor="pigc7"
android:textSize="ads2" />
<ImageView
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:layout_gravity="center_vertical"
android:background="@drawable/colbtn_r”
android:clickable="true"
android:onClick=“clickAct”
android:paddingLeft="5dp"
android:paddingRight="5dp"
android:src="@drawable/abcat” />
</LinearLayout>
</LinearLayout>
android
android-layout
focus
ime
Катедраль Пиллон
источник
источник
android:nextFocusDown="@id/edit_text_v4"
(также, возможно, попробуйтеandroid:nextFocusForward
или некоторые другие атрибуты nextFocus).Ответы:
Просто добавьте
android:maxLines="1" & android:inputType="text"
в свой EditText. Это сработает!! :)источник
wrap_content
. УстановкаinputType
решила проблему в моем случае.android:maxLines="1"
вместоandroid:singleLine="true"
устаревшегоmaxLine="1"
не работает.singleLine
устарела. Добавление типа ввода (например:)android:inputType="text"
также помогло мне.Использовать
android:maxLines="1"
какsingleLine
не рекомендуетсяисточник
android:singleLine
устарело, лучше комбинироватьandroid:maxLines="1"
сandroid:inputType="text"
. Это будет код:источник
Все ответы, приведенные здесь, были очень полезны, но я все еще изо всех сил пытался показать "Next" на моей клавиатуре.
Оказывается, когда вы используете
android:digits
атрибут Android в своем XML, он мешаетandroid:imeOptions="actionNext"
работать должным образом.Ответ заключается в том, чтобы использовать устаревший
android:singleLine="True"
. Похоже, это заставляет соблюдать параметр IME.Старый, нерабочий код
Рабочий код
Я не фанат использования устаревшего атрибута, но пока, похоже, он дает желаемый результат.
источник
одна строка устарела, поэтому вы добавляете код ниже, я думаю, что inputType должен.
источник
Наконец-то у меня есть надежное решение этой проблемы. Просто добавьте эти 3 строки в текст редактирования, и все будет нормально.
Здесь вы можете добавить maxLines в соответствии с вашими требованиями. Не используйте singleLine, так как он устарел. Удачи!
источник
Вы должны указать inputType, чтобы imeOptions функционировал.
источник
Этих трех строк достаточно.
источник
Ключевым моментом здесь является установка типа ввода и атрибутов imeOptions.
источник
Только это сработало для меня.
Измени это:
на том:
источник
источник
actionUnspecified
.ниже код - сила
источник