edittext nextfocusdown to searchview - PullRequest
0 голосов
/ 06 февраля 2020

Я разрабатываю мобильное приложение android, которое содержит список, если EditText s.

Одним из них является SearchView , и оно выглядит следующим образом (4-я строка SearchView):

enter image description here

В этой части программы мне нужно переходить от одного к другому EditText с помощью кнопки «Далее» на клавиатура.

У меня проблема при запросе фокуса с 3-го по 4-й ряд. Когда я нажимаю «Далее», он переходит с 3-го на 5-й ряд и проходит SearchView. Я использую android:nextFocusDown="myid" для этого.

Вот фрагмент кода:

...
           <RelativeLayout
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:layout_marginLeft="@dimen/main_margin"
                android:layout_marginRight="@dimen/main_margin">

                <com.google.android.material.textfield.TextInputLayout
                    android:id="@+id/textInputMiddleName"
                    android:layout_width="match_parent"
                    android:layout_height="@dimen/fields_height"
                    android:layout_alignParentStart="true"
                    android:layout_centerHorizontal="true"
                    android:padding="@dimen/space_textinput"
                    app:boxBackgroundMode="none">

                    <ru.meteor.citykrepost.helpers.AdvancedEditText
                        android:id="@+id/textInputEditTextMiddleName"
                        android:layout_width="match_parent"
                        android:layout_height="match_parent"
                        android:background="@null"
                        android:hint="@string/middle_name"
                        android:nextFocusDown="@id/searchViewBuilding"
                        android:singleLine="true"
                        android:textSize="@dimen/text_normal_size" />
                </com.google.android.material.textfield.TextInputLayout>

                <ImageView
                    android:id="@+id/middleNameError"
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:layout_alignParentEnd="true"
                    android:layout_centerVertical="true"
                    android:layout_gravity="center_vertical"
                    android:contentDescription="@string/middle_name"
                    android:src="@drawable/background_error"
                    android:visibility="invisible" />
            </RelativeLayout>

            <View
                android:layout_width="match_parent"
                android:layout_height="@dimen/slider_height"
                android:background="@android:color/white" />

            <RelativeLayout
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:layout_marginLeft="@dimen/main_margin"
                android:layout_marginRight="@dimen/main_margin">

                <ru.meteor.citykrepost.helpers.AdvancedSearchView
                    android:id="@+id/searchViewBuilding"
                    android:layout_width="match_parent"
                    android:layout_height="@dimen/fields_height"
                    android:layout_marginStart="@dimen/search_view_padding_left"
                    android:imeOptions="actionNext"
                    android:nextFocusDown="@id/textInputEditTextFlat"
                    android:focusable="true"
                    android:padding="@dimen/space_textinput"
                    android:theme="@style/MySearchViewStyle"
                    app:iconifiedByDefault="false"
                    app:queryHint="@string/street"
                    app:searchHintIcon="@null"
                    app:searchIcon="@null" />

                <ImageView
                    android:id="@+id/addressError"
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:layout_alignParentEnd="true"
                    android:layout_centerVertical="true"
                    android:layout_gravity="center_vertical"
                    android:contentDescription="@string/address_title"
                    android:src="@drawable/background_error"
                    android:visibility="invisible" />
            </RelativeLayout>
...

Что может быть не так с этим? Любая помощь будет оценена.

Ответы [ 2 ]

1 голос
/ 06 февраля 2020

Вы можете достичь, добавив ниже строки в каждое поле EditText -

android:singleLine="true" 
android:imeOptions="actionNext"

Надеюсь, это поможет

1 голос
/ 06 февраля 2020

Используйте android:imeOptions="actionNext" в вашем представлении AdvancedEditText. Удачи.

...