Заданный текстовый фильтр Android AutoCompleteTextView всегда имеет значение true

#android #kotlin #drop-down-menu #android-spinner #autocompletetextview

#Android #kotlin #выпадающее меню #android-счетчик #autocompletetextview

Вопрос:

Я использую AutoCompleteTextView как счетчик, реализованный в material design, в виде открытых выпадающих меню. Я пытаюсь установить значение по умолчанию, но это не работает.

k]

У меня есть массив значений, который должен быть установлен в этом AutoCompleteTextView .

 val TYPE_OF_LANGUAGES = arrayOf("C", "C  ", "Java", "Python", "Pearl", "Kotlin")

// Set the Language adapter
val adapter: ArrayAdapter<String?> = ArrayAdapter<String?>(
     context,
     R.layout.spinner,
     TYPE_OF_LANGUAGES
)
binding.spinner.apply {
        this.setText(adapter.getItem(0).toString(), false)
        this.setAdapter(adapter)
}
  

Эта строка кода

  this.setText(adapter.getItem(2).toString(), false)
  

устанавливает третий пункт «Java», но при нажатии на AutoCompleteTextView я могу видеть только «Java» в выпадающем меню, даже фильтр установлен на false .

Комментарии:

1. Попробуйте сначала настроить адаптер и только после этого перевести текст в текстовый вид.

2. Я тоже это пробовал… Это то же самое… @JeneaVranceanu

Ответ №1:

Добавьте простой TouchListener для AutoCompleteTextView. Приведенный ниже код отлично работает для меня. Попробуйте это

 spinner.setOnTouchListener(object : View.OnTouchListener {
            override fun onTouch(v: View?, event: MotionEvent?): Boolean {
                spinner.showDropDown()
                return v?.onTouchEvent(event) ?: true
            }
        })
  

Комментарии:

1. Является ли ‘spinner’ макетом? используйте это в адаптере «android.R.layout.simple_dropdown_item_1line insted» из «R.layout.spinner» смотрите это изображение — ibb.co/dmMQyjz

2. Yesh spinner — это созданный мной макет, в котором есть только TextView .

3. используйте «R.layout.support_simple_spinner_dropdown_item» и присвоите «AppCompatAutoCompleteTextView» идентификатор spinner и примените описанный выше метод. Соответствует ли приведенное выше изображение вашим ожиданиям?

4. используйте «R.layout.support_simple_spinner_dropdown_item» и присвоите «AppCompatAutoCompleteTextView» идентификатору spinner и примените описанный выше метод. Соответствует ли приведенное выше изображение вашим ожиданиям?