#android #kotlin #drop-down-menu #android-spinner #autocompletetextview
#Android #kotlin #выпадающее меню #android-счетчик #autocompletetextview
Вопрос:
Я использую AutoCompleteTextView
как счетчик, реализованный в material design, в виде открытых выпадающих меню. Я пытаюсь установить значение по умолчанию, но это не работает.
У меня есть массив значений, который должен быть установлен в этом 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 и примените описанный выше метод. Соответствует ли приведенное выше изображение вашим ожиданиям?