Siedem lat później, chłopaki, problem pozostaje ten sam. Oto klasa z funkcją, która zmusza to głupie wyskakujące okienko do wyświetlania się w każdych warunkach. Wszystko, co musisz zrobić, to ustawić adapter do swojego AutoCompleteTextView, dodać do niego trochę danych i wywołać showDropdownNow()
funkcję w dowolnym momencie.
Kredyty dla @David Vávra. Opiera się na jego kodzie.
import android.content.Context
import android.util.AttributeSet
import android.widget.AutoCompleteTextView
class InstantAutoCompleteTextView : AutoCompleteTextView {
constructor(context: Context) : super(context)
constructor(context: Context?, attrs: AttributeSet?) : super(context, attrs)
constructor(context: Context?, attrs: AttributeSet?, defStyleAttr: Int) : super(context, attrs, defStyleAttr)
override fun enoughToFilter(): Boolean {
return true
}
fun showDropdownNow() {
if (adapter != null) {
val savedText = text
setText(null, true)
setText(savedText, false)
setSelection(text.length)
performFiltering(null, 0)
}
}
}