Anda hanya memerlukan beberapa mekanisme yang akan "menonton" perubahan di kotak input Anda dan cara paling benar untuk mencapainya disebutkan TextWatcher
Jadi terapkan dan dalam beberapa metode yang menyediakan TextWatcher
misalnya onTextChanged()
, tetapkan data dari kotak masukan dan kirimkan sebagai parameter ke AsyncTask dan di onPostExecute() metode buat Adaptor baru untuk AutoCompleteTextView
Anda dengan data yang diambil dari MySQL
dan tetapkan Adaptor ke widget Anda dan Anda mendapatkannya.
Kode semu:
public void onTextChanged(CharSequence s, int start, int before, int count) {
if (s.length() > 1) {
insertString = s.toString();
new YourTask().execute(insertString);
}
}
dan di AsyncTask Anda, lakukan sesuatu seperti ini:
protected List<String> doInBackground() {
// fetchning data from MySQL
return list;
}
public void onPostExecute(List<String> result) {
if (!result.isEmpty()) {
SomeAdapter adp = new SomeAdapter(context, layout, result);
actv.setAdapter(adp);
}
}
Catatan: Dalam kasus Anda, lebih mudah untuk membuat AsyncTask
Anda kelas dalam Activity
. Anda kelas dan Anda memiliki akses langsung ke UI
komponen tanpa meneruskannya melalui konstruktor.