Ich verwende einen ArrayAdapter, um Elemente zu einem benutzerdefinierten ListView hinzuzufügen und die Ergebnisse in meiner Android App anzuzeigen. Das Problem, das ich habe, ist, dass der ArrayAdapter zu warten scheint, bis alle Elemente darin sind, bevor es die Ansicht anzeigt. Das heißt, wenn ich die Elemente zum ArrayAdapter hinzufüge und notifyDataSetChanged aufruft, wird die ListView nicht aktualisiert, um das hinzugefügte Element anzuzeigen. Es wartet, bis alle Elemente hinzugefügt sind und GetView aufgerufen wird, bevor die Elemente angezeigt werden.Android - Hinzufügen und Anzeigen von Elementen zu ListView nacheinander mit einem ArrayAdapter
Was ich möchte, ist es, das Element sofort nach dem Hinzufügen zum ListView anzuzeigen. Ist das möglich?
Ich glaube, der entsprechende Code ist folgende:
r_adapter = new ReminderAdapater(Activity_ContentSearch.this, R.layout.search_listitem, myList);
listView.setAdapter(r_adapter);
...
r_adapter.notifyDataSetChanged();
r_adapter.clear();
for(int i = 0; i < myList.size(); i++)
{
r_adapter.add(myList.get(i));
r_adapter.notifyDataSetChanged();
}
Wie Sie sehen können, obwohl ich notifyDataSetChanged nach der Methode add nenne, ist es nicht eigentlich die Ansicht zu aktualisieren. Nachdem die obige Schleife beendet ist, wird die Ansicht schließlich aktualisiert (basierend auf dem, was ich weiß, weil GetView erst aufgerufen wird, nachdem dieser Abschnitt des Codes fertig ist).
Ich habe versucht, die Add-Methode meiner benutzerdefinierten ArrayAdapter ohne Glück zu überschreiben, da ich keinen Zugriff auf die Ansicht in dieser Methode haben.
Jede Hilfe wäre willkommen :)
Bara