AutoCompleteTextView zeigt kein Ergebnis an, auch wenn der ArrayAdapter aktualisiert wird

Ich versuche, eine AutoCompleteTextView (ACTV) zu erstellen, um die Ergebnisse anzuzeigen, die ich von einer Netzwerkressource erhalte. Ich habe den Beendigungsschwellenwert auf 2 gesetzt und kann feststellen, dass die Anforderung ausgelöst wird, wenn ich Zeichen eingebe.

Das Ergebnis, das ich bekomme, ist das richtige. Nehmen wir an, ich schreibe "ca" und erhalte das Ergebnis "car" als Autovervollständigung. Ich habe eine Callback-Funktion, die das Ergebnis von einer AsyncTask empfängt und das Ergebnis in den ArrayAdapter schreibt. Dann rufe ich .showDropDown () auf dem ACTV auf und ein leeres Dropdown wird angezeigt (halb so groß wie ein normales Element). Wenn ich dann den letzten Buchstaben "r" eingebe und das ACTV "car" anzeigt, wird das Dropdown-Menü angezeigt und das Ergebnis wird plötzlich in der Liste angezeigt.

Das gleiche passiert, wenn ich zwei Zeichen eingegeben habe (was ein gültiges Ergebnis ergibt) und den letzten Buchstaben entferne. Wenn der Buchstabe entfernt wird, wird "Auto" als Wert für die automatische Vervollständigung angezeigt.

Hatte jemand dieses Problem? Es sieht so aus, als ob der Adapter mit dem Ergebnis gefüllt ist, aber das Ergebnis wird erst bei der nächsten von mir ausgeführten Aktion angezeigt. Ich habe auch versucht, .notifyDataSetChanged () auszuführen, nachdem ich das Ergebnis zum Adapter hinzugefügt habe, aber das sollte nicht benötigt werden, oder?

Antworten auf die Frage(2)

Ihre Antwort auf die Frage