edittext nextfocusdown to searchview

edittext nextfocusdown to searchview

我正在开发一个 android 移动应用程序,其中包含一个列表 if EditTexts.

其中一个是 SearchView,它看起来像这样(第 4 行是 SearchView):

在这部分程序中,我必须使用键盘上的 "Next" 按钮从一个移动到另一个 EditText

我在请求从第 3 行到第 4 行的焦点时遇到问题。当我点击 "Next" 时,它从第 3d 行转到第 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>
...

这有什么问题吗?任何帮助将不胜感激。

在 AdvancedEditText 视图中使用 android:imeOptions="actionNext"。祝你好运。

您可以通过在每个 EditText 字段中添加以下行来实现 -

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

希望对您有所帮助