AutoCompleteTextView с параметрами поиска - PullRequest
0 голосов
/ 02 марта 2019

Я хочу выполнить поиск двумя способами с помощью autocompletetextview.Первый - базовый, который использует ArrayAdapter (этот работает нормально), второй - IME_OPTION_SEARCH или actionSearch.Я хочу обсудить второй вопрос, который является проблемой здесь.

По сути, мне нужно добавить imeOptions к autocompletetextview с помощью "actionSearch", и это будет выглядеть так:

<AutoCompleteTextView
            android:layout_width="0dp"
            android:layout_height="wrap_content" android:id="@+id/acPetShopSearch"
            app:layout_constraintStart_toEndOf="@+id/ivPetShopSearchIcon" android:layout_marginStart="8dp"
            app:layout_constraintTop_toTopOf="parent"
            app:layout_constraintBottom_toBottomOf="parent" android:backgroundTint="@android:color/transparent"
            android:hint="@string/pet_shop_search_hint"
            android:imeOptions="actionSearch"
            android:inputType="textAutoComplete|textAutoCorrect"
            app:layout_constraintEnd_toEndOf="parent" android:layout_marginEnd="16dp"
            android:textColorHint="@color/pinkish_grey" android:textColor="@color/purple_brown"
            android:textSize="12sp" android:singleLine="true"/>

Затем,Я установил прослушиватель редактора в виде простого EditText с actionSearch, так что это было бы так:

acPetShopSearch.setOnEditorActionListener(object : TextView.OnEditorActionListener {
        override fun onEditorAction(v: TextView, actionId: Int, event: KeyEvent): Boolean {
            if (actionId == EditorInfo.IME_ACTION_SEARCH) {
                doSearch(acPetShopSearch.text.toString())
                return true
            }
            return false
        }
    })

Я попробовал это, и я получил ошибку, подобную этой:

java.lang.IllegalArgumentException: параметр, указанный как ненулевое, имеет значение null: метод kotlin.jvm.internal.Intrinsics.checkParameterIsNotNull, событие параметра в id.paw.pawcolony.view.petshop.PetShopActivity $ successCity $ 1.onEditorAction 7: неизвестно (неизвестно)в android.widget.TextView.onEditorAction (TextView.java:6271) по адресу com.android.internal.widget.EditableInputConnection.performEditorAction (EditableInputConnection.java:138) по адресу com.android.internal.view.IInputConnectionWrapper.exe.: 360) в com.android.internal.view.IInputConnectionWrapper $ MyHandler.handleMessage (IInputConnectionWrapper.java:85) на android.os.Handler.dispatchMessage (Handler.java:106) на android.os.Looper.loop (Looper.java:201) на android.app.ActivityThread.main (ActivityThread.java:6806) в java.lang.reflect.Method.invoke (собственный метод) в com.android.internal.os.RuntimeInit $ MethodAndArgsCaller.run (RuntimeInit.java:547) в com.android.internal.os.ZygoteInit.main (ZygoteInit).java: 873)

Отличается ли поведение AutoCompleteTextView от EditText?Есть ли способ добавить функцию поиска в AutoCompleteTextView?

...