ArrayAdapter und ArrayList, nur bestimmte Daten anzeigen

X

xilence

Neues Mitglied
0
Hallo zusammen,
ich komme im Moment zu keiner Lösung.
Ich habe eine Klasse, die von ArrayAdapter erbt. In der getView() setze ich verschiedene Views in einer ListView, also eine Row.
Konkret geht es darum, dass ein Benutzer einen Stundenplan erstellen kann. Dazu gibt es jeweils in einer TabSpec eine ListView, je nach Tag(Montag, Dienstag...). Insgesamt also 5 ListViews, auf die 5 TabSpecs verteilt.

Nun kann der Benutzer eine Stunde hinzufügen. Dazu muss er neben dem Namen auch den Wochentag angeben.
Nun soll die entsprechende ListView die Stunde anzeigen, wenn diese dem ausgewählten Wochentag entspricht. Also User wählt oben im Tabreiter z.B. Montag aus und es sollen die Stunden angezeigt werden, die Montags vorhanden sind.

Da ist nämlich auch das Problem. Ich habe wie gesagt einen ArrayAdapter, dessen Datenmodell eine List<Lesson> ist. Eine Lesson hat ein Attribut in dem der Wochentag gespeichert ist.
In der getView(...) wird überprüft ob der Tag des TabSpec dem Tag der Stunde entspricht. Es wird also geguckt, ob die Stunde in der aktuellen ListView angezeigt werden soll.
Code:
 public View getView(int position, View convertView, ViewGroup parent) {
...
 if (context.getDay() == currentLesson.getWeekDay().getWeekDay()) {
            fillView(currentLesson, holder);
  }
...
}

private void fillView(Lesson currentLesson, ViewHolder holder) {
     holder.lessonNumber.setText(String.valueOf(currentLesson.getNumber()));
}
Das Problem ist jetzt, dass ich meinen ArrayAdapter wie folgt initialisiere:
Code:
timetableAdapter = new TimetableAdapter(this, getModel());
getModel() liefer einfach eine ArrayList mit Lesson Objekten zurueck.

Nun wird aber jedesmal, wenn der aktuell geöffnete Tab nicht dem Tag der Stunde entspricht eine Leerzeile in der entsprechenden ListView angezeigt.

Meine Frag ist jetzt, wie kann ich meine Daten aufbereiten, um sie anhand von verschiedenen Tagen in dem ArrayAdapter selektieren zu können?
Ich habe wenig Lust 5 ArrayListen und 5 ArrayAdapter für die entsprechenden Wochentage zu implementieren.
 
So Problem geloest. Habe eine SimpleAdapter genommen und eine Filtermethode geschrieben.
 

Ähnliche Themen

M
  • MikelKatzengreis
Antworten
5
Aufrufe
136
swa00
swa00
D
  • Data2006
3 4 5
Antworten
84
Aufrufe
3.720
jogimuc
J
A
Antworten
10
Aufrufe
1.928
swa00
swa00
Zurück
Oben Unten