AutoComplete ShowDropdown не отображает выпадающий список (но в другой ситуации) - PullRequest
0 голосов
/ 26 апреля 2019

У меня есть четыре настройки autoCompleteTextViews, которые показывают раскрывающийся список в тот момент, когда они получают фокус (используя его скорее как дополнительное раскрывающееся меню, чем ожидая, когда пользователь сначала введет данные).Я извлекаю данные для выпадающего списка из хранилища в начале действия, и все 4 массива получены успешно.В остальных трех случаях в упражнении это работает как шарм.По некоторым причинам, однако, одно из этих полей просто не показывает выпадающий список.Рассматриваемый вопрос озаглавлен «loaderAutoCompleteTextView» ниже:

//Setup autoCompleteTextView list with drivers
    val driverAdapter = ArrayAdapter(this, android.R.layout.simple_dropdown_item_1line, driverArrayList)
    driverAutoCompleteTextView.setAdapter(driverAdapter)

    //show AutoComplete information without having to type first.
    driverAutoCompleteTextView.onFocusChangeListener = View.OnFocusChangeListener { /*view*/_, hasFocus ->
        if (hasFocus) {
            driverAutoCompleteTextView.showDropDown()
            Log.d("BEAU", "DRIVER DROPDOWN SHOULD BE HERE!")
        } else {
            driverAutoCompleteTextView.dismissDropDown()
        }
    }

    //Setup autoCompleteTextView list with loaders
    val loaderAdapter = ArrayAdapter(this, android.R.layout.simple_dropdown_item_1line, loaderArrayList)
    loaderAutoCompleteTextView.setAdapter(loaderAdapter)

    //show AutoComplete information without having to type first.
    loaderAutoCompleteTextView.onFocusChangeListener = View.OnFocusChangeListener { /*view*/_, hasFocus ->
        if (hasFocus) {
            loaderAutoCompleteTextView.showDropDown()
            Log.d("BEAU", "LOADER DROPDOWN SHOULD BE HERE!")
        } else {
            loaderAutoCompleteTextView.dismissDropDown()
        }
    }

Вот их соответствующий XML:

<AutoCompleteTextView
    android:id="@+id/driverAutoComplete"
    android:layout_width="0dp"
    android:layout_height="0dp"
    android:layout_marginStart="5dp"
    android:layout_marginLeft="5dp"
    android:layout_marginEnd="5dp"
    android:layout_marginRight="5dp"
    android:hint="@string/driver_name"
    android:inputType="textCapWords"
    android:imeOptions="actionNext"
    app:layout_constraintBottom_toBottomOf="@+id/driverView"
    app:layout_constraintEnd_toEndOf="@+id/driverView"
    app:layout_constraintStart_toStartOf="@+id/verticalGuidelineEditLoad50percent"
    app:layout_constraintTop_toTopOf="@+id/driverView" />

<AutoCompleteTextView
    android:id="@+id/loaderAutoComplete"
    android:layout_width="0dp"
    android:layout_height="0dp"
    android:layout_marginStart="5dp"
    android:layout_marginLeft="5dp"
    android:layout_marginEnd="5dp"
    android:layout_marginRight="5dp"
    android:hint="@string/loader_name"
    android:inputType="textCapWords"
    android:imeOptions="actionDone"
    app:layout_constraintBottom_toBottomOf="@+id/loaderView"
    app:layout_constraintEnd_toEndOf="@+id/loaderView"
    app:layout_constraintStart_toStartOf="@+id/verticalGuidelineEditLoad50percent"
    app:layout_constraintTop_toTopOf="@+id/loaderView" />

Я не вижу никаких различий, но есть разница вLogCat.Всякий раз, когда я пропускаю фокус на loaderAutoCompleteTextView, я получаю эту ошибку:

W/InputEventReceiver: Attempted to finish an input event but the input event receiver has already been disposed.

Я полагаю, что это может быть из-за того, что он пытается отклонить выпадающий список, который никогда не создавался?Любая помощь будет высоко ценится.

...