Simplemente necesita algún mecanismo que "vigile" los cambios en su cuadro de entrada y la forma más correcta de cómo lograrlo se menciona TextWatcher
Así que impleméntelo y en algún método que proporcione TextWatcher
por ejemplo onTextChanged()
, asigne datos desde el cuadro de entrada y envíelos como parámetro a AsyncTask y en onPostExecute() crea un nuevo adaptador para tu AutoCompleteTextView
con datos recuperados de MySQL
y asigna Adaptador a tu widget y lo tienes.
Pseudocódigo:
public void onTextChanged(CharSequence s, int start, int before, int count) {
if (s.length() > 1) {
insertString = s.toString();
new YourTask().execute(insertString);
}
}
y en su AsyncTask, realice algo como esto:
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);
}
}
AsyncTask
clase interna de su Activity
class y tienes acceso directo a UI
componentes sin pasarlos a través del constructor.