sql >> Databáze >  >> RDS >> Mysql

AutoCompleteTextView s daty MySQL

Jednoduše potřebujete nějaký mechanismus, který bude "sledovat" změny ve vašem vstupním poli a nejsprávnější způsob, jak toho dosáhnout, je zmíněn TextWatcher

Takže to implementujte a v nějaké metodě, která poskytuje TextWatcher například onTextChanged() , přiřaďte data ze vstupního pole a odešlete je jako parametr do AsyncTask a v onPostExecute() vytvořte nový adaptér pro AutoCompleteTextView s daty získanými z MySQL a přiřaďte Adapter k vašemu widgetu a máte to.

Pseudokód:

public void onTextChanged(CharSequence s, int start, int before, int count) {
   if (s.length() > 1) {
      insertString = s.toString();
      new YourTask().execute(insertString);                  
   }
}

a v AsyncTask proveďte něco takového:

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);
   }
}

Poznámka: Ve vašem případě je jednodušší vytvořit AsyncTask vnitřní třídy vaší Activity třídy a máte přímý přístup k UI komponenty, aniž byste je předali přes konstruktor.



  1. Společné používání psycopg2 a Qthreads (nebo jen postgresql a qthreads) a aktualizace GUI

  2. Korelovaná aktualizace Oracle SQL

  3. Node.js Použití async/wait s mysql

  4. Jak CHARSET() funguje v MariaDB