MultiAutoCompleteTextView mit dynamischen Adapteränderungen

8

Ich habe ein MultiAutoCompleteTextView Widget in meiner Aktivität, das ein ArrayAdapter<String> hat, das durch ein Ergebnis eines webbasierten Anrufs gefüllt wird. Wenn der Benutzer Zeichen in die Textansicht eingibt, sollte die Liste dieses Adapters im Hintergrund aktualisiert werden. Was ist der beste Weg, dies zu implementieren?

Ich habe bereits versucht, AsyncTask zu verwenden, um die Zeichenfolgenliste im Hintergrund herunterzuladen, aber notifyDataSetChanged() wurde vom "nicht-ursprünglichen Thread" aufgerufen. Darüber hinaus scheint dies ein kleiner Kreisverkehr.

Die andere Option, auf die ich gestoßen bin, ist, dass Filterable verwendet werden kann, aber ich habe keine einfachen Beispiele gefunden ( AutoComplete4 scheint wie ein Overkill zu sein, wie man das macht. Wenn es keine Beispiele gibt, kann jemand einen breiten Überblick über die Schauspieler geben, die ich brauche - Filter, Filterbar, etc.

Auch das ist ein guter Weg zu gehen?

Danke, Danke Rajath

    
rajath 23.04.2011, 07:20
quelle

1 Antwort

0

Ich weiß, dass diese Frage alt ist, aber ich musste das Gleiche tun, und ich dachte mir, ich würde die Lösung mit dir teilen oder irgendjemand würde sie brauchen.

Zunächst müssen Sie in der Tat ein AsyncTask verwenden, um Ihre Daten abzurufen. Davon abgesehen würde ich niemals eine AsyncTask in irgendeiner Weise meine Ansichtsklasse manipulieren lassen. Stattdessen verwende ich lieber einen -Rückruf zusammen mit den Parametern, die Sie in Ihrer AsyncTask benötigen. Sobald die AsyncTask beendet ist, rufen Sie Ihre Callback-Methode auf, die dafür verantwortlich ist, notifyDataSetChanged() aufzurufen.

Hier ist ein Code:

MyAsyncTask.java

%Vor%

MyCallbackClass.java

%Vor%     
Aurasphere 23.04.2016 21:38
quelle