sql >> Database teknologi >  >> RDS >> Mysql

AutoCompleteTextView med MySQL-data

Du har simpelthen brug for en eller anden mekanisme, der vil "se" ændringer i din inputboks, og den mest korrekte måde, hvordan du opnår det, er nævnt TextWatcher

Så implementer det og i en eller anden metode, der giver TextWatcher for eksempel onTextChanged() , tildel data fra inputboksen og send dem som parameter til AsyncTask og i onPostExecute() metode oprette ny adapter til din AutoCompleteTextView med data hentet fra MySQL og tildel Adapter til din widget, og du fik det.

Pseudokode:

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

og i din AsyncTask skal du udføre noget som dette:

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

Bemærk: I dit tilfælde er det nemmere at lave din AsyncTask indre klasse af din Activity klasse, og du har direkte adgang til UI komponenter uden at sende dem via constructor.



  1. Introduktion til diagramtyper

  2. Sådan konverteres et heltal til en decimal i SQL Server

  3. Sådan administrerer du ledige værelser baseret på dages eller måneders besættelse

  4. MySQL VÆLG og BESTIL EFTER