Saya menggunakan AutoCompleteTextView
, ketika pengguna mengkliknya, saya ingin menampilkan saran walaupun tidak memiliki teks - tetapi setThreshold(0)
berfungsi sama persis dengan setThreshold(1)
- sehingga pengguna harus memasukkan setidaknya 1 karakter untuk menampilkan saran.
android
autocompletetextview
fhucho
sumber
sumber
Jawaban:
Ini adalah perilaku yang didokumentasikan :
Anda dapat menampilkan drop-down secara manual
showDropDown()
, jadi mungkin Anda dapat mengatur untuk menunjukkannya saat diinginkan. Atau, subkelasAutoCompleteTextView
dan overrideenoughToFilter()
, mengembalikantrue
semua waktu.sumber
showDropDown()
tidak berfungsiafterTextChanged
saat.getText().toString().length()==0
. MENGAPAIni kelas saya InstantAutoComplete . Sesuatu antara
AutoCompleteTextView
danSpinner
.Gunakan di xml Anda seperti ini:
sumber
<AutoCompleteTextView ... />
ke<your.namespace.InstantAutoComplete ... />
. Saya kehilangan waktu untuk memikirkan hal ini :)androidx.appcompat.widget.AppCompatAutoCompleteTextView
.Cara termudah:
Cukup gunakan setOnTouchListener dan showDropDown ()
sumber
Kode Destil bekerja sangat baik ketika hanya ada satu
InstantAutoComplete
objek. Tapi itu tidak bekerja dengan dua - tidak tahu mengapa. Tapi ketika saya memasukkanshowDropDown()
(seperti yang disarankan CommonsWare) keonFocusChanged()
seperti ini:itu memecahkan masalah.
Hanya dua jawaban yang digabungkan dengan benar, tapi saya harap ini bisa menghemat waktu seseorang.
sumber
Adaptor tidak melakukan penyaringan pada awalnya.
Ketika penyaringan tidak dilakukan, daftar dropdown kosong.
jadi Anda mungkin harus melakukan penyaringan pada awalnya.
Untuk melakukannya, Anda dapat meminta
filter()
setelah Anda selesai menambahkan entri:sumber
Anda dapat menggunakan onFocusChangeListener;
sumber
Jawaban Destil di atas hampir berhasil, tetapi memiliki satu bug halus. Ketika pengguna pertama kali memberikan fokus ke bidang itu berfungsi, namun jika mereka pergi dan kemudian kembali ke bidang itu tidak akan menunjukkan drop down karena nilai mPopupCanBeUpdated masih akan salah sejak disembunyikan. Cara mengatasinya adalah mengubah metode onFocusChanged menjadi:
sumber
Untuk membuat CustomAutoCompleteTextView. 1. mengganti setThreshold, enoughToFilter, metode onFocusChanged
sumber
Cobalah
sumber
Panggil saja metode ini pada sentuhan atau klik acara autoCompleteTextView atau di mana Anda inginkan.
sumber
Ini bekerja untuk saya, kode semu:
sumber
Cukup tempel ini ke Metode onCreate Anda di Jawa
Dan ini ke file Xml Anda ...
Dan buat Array di string.xml di bawah Nilai ...
Dan Anda baik untuk pergi.
sumber
Tujuh tahun kemudian, teman-teman, masalahnya tetap sama. Ini adalah kelas dengan fungsi yang memaksa pop-up bodoh itu muncul sendiri dalam kondisi apa pun. Yang perlu Anda lakukan adalah mengatur adaptor ke AutoCompleteTextView Anda, menambahkan beberapa data ke dalamnya, dan memanggil
showDropdownNow()
fungsi kapan saja.Kredit ke @David Vávra. Itu berdasarkan kodenya.
sumber
pada FocusChangeListener, periksa
di filter Anda, cukup trim nilai ini:
dan itu akan menampilkan semua saran saat Anda fokus pada tampilan ini.
sumber