Listadapter: Auslassen von Items

S

Schwede

Neues Mitglied
0
Nach ein paar aufregenden Programmierwochen mal wieder eine grundsätzliche Frage von mir.
Kann man im ListAdapter dafür sorgen, dass bestimmte Items der Arraylist einfach nicht angezeigt werden? Und wäre das dann mittels "Ignore_Item"? Könnte mir da mal jemand Pseudocode zeigen, wie es theoretisch geht?

Hintergrund: ich habe eine ArrayList die alle Objekte beinhaltet. Davon sollen aber die, die "isvisible= false" haben, nicht angezeigt werden. Theoretisch baue ich mir dann eben eine neue Arraylist in die ich nur die anzuzeigenden einstelle und dem Adapter übergebe. Da ich aber bei jeder Änderung an einem Objekt den ganzen Array wegsichere verheddere ich mich bei den Sicherung. Außerdem klappt es so nicht mit "notifyDataSetChanged" weil die Objekte, die wieder sichtbar sein sollen in dem Array des Adapters nicht enthalten sind. Deshalb dachte ich, wäre es einfacher nur ein Modell zu haben, genau dieses dem Adapter zu übergeben und im Adapter zu entscheiden, was angezeigt wird und was nicht.
Wieder ein Denkfehler?
Viele Grüße
Der Schwede
 
naja

warum nicht einfach in der getView

if (not visible)
thisItem.setvisibility(View.gone)

ist zwar echt keine schöne lösung, aber wenn du das dataset des adapters nicht ändern willst, wirds nicht anders gehen.

die schöne lösung ist sicher, das dataset des adapters so anzupassen, dass nur jene enthalten sind, welche auch angezeigt werden. warum soll der adapter daten halten die er nicht braucht.
 
  • Danke
Reaktionen: Schwede
Danke swordi!
Genau danach suchte ich! Warum finde ich sowas nicht, wenn ich im android-developer stöbere???
Sicher, die Lösung ist nicht schön. Aber wenn das zugrundeliegende Datenmodell nicht schön ist (weil es beim entwickeln entsteht :winki:) werden auch die Lösungen hässlich bleiben. Aber es ist meine erste App und die ist zum Üben...
Schöne Woche noch!
Der Schwede
 

Ähnliche Themen

J
Antworten
5
Aufrufe
929
swa00
swa00
S
Antworten
17
Aufrufe
554
jogimuc
J
5
Antworten
22
Aufrufe
1.421
590239
5
Zurück
Oben Unten