Gridview von unten befüllen

  • Antworten:12
  • Bentwortet
Melanie Schmidt
  • Forum-Beiträge: 18

23.08.2013, 11:05:49 via Website

Hallo,

ich habe eine Gridview, die ich mittels einer Liste von Buttons befülle. Die Liste, bzw. das Grid darf nicht mehr als 9 Elemente enthalten.

Mein Problem ist nun, dass ich das Grid von unten nach oben befüllen möchte:
Normalerweise fängt der Gridview Adapter ja links oben an:
1 2 3
4 5 6
7 8 9

Ich möchte:
9 8 7
6 5 4
3 2 1

Weiß jemand ob das geht oder einen guten Workaround?

Antworten
Christian
  • Forum-Beiträge: 307

23.08.2013, 12:57:07 via Website

Hi Melanie,

warum drehst du nicht einfach den Inhalt um?

Also wenn du normalerweise die Element 1,2,3...9 einfügst machst dann halte erst das Element 9 dann 8 ,7,6....1.

Oder versteh ich dich jetzt falsch?

Mfg Christian

Antworten
Stefan J.
  • Forum-Beiträge: 30

23.08.2013, 12:59:45 via Website

das war auch mein erster Gedanke, eigentlich müsste man vorher nur Collections.reverse(list) aufrufen

Grüße

Antworten
Melanie Schmidt
  • Forum-Beiträge: 18

23.08.2013, 13:08:33 via Website

Das Problem ist aber, dass nicht immer 9 Elemente vorhanden sind. Es können auch nur 5 oder so sein. Da nützt mir das umdrehen leider nichts.
Es sollte trotzdem das erste Element und rechts anfangen und dann oben links keine Elemente sein:
- - -
- 5 4
3 2 1

— geändert am 23.08.2013, 13:09:00

Antworten
Christian
  • Forum-Beiträge: 307

23.08.2013, 13:12:59 via Website

kannst dann nicht für die Elemente die Fehlen nicht einfach Dummys einfügen?
Vielleicht sowas wie Buttons ohne Klick oder mit einem transprenten Hintergrund.

— geändert am 23.08.2013, 13:13:11

Melanie Schmidt

Antworten
Melanie Schmidt
  • Forum-Beiträge: 18

23.08.2013, 13:21:16 via Website

Hab ich mir auch gedacht. Bedarf nur bei mir einige Anpassungen und ich hatte gehofft es gäbe etwas einfacheres.
Ein Attribut für die GridView oder so...

Antworten
Stefan J.
  • Forum-Beiträge: 30

23.08.2013, 16:41:16 via Website

wenn ich es richtig verstehe müsste man das hinkriegen indem man sich einen eigenen Adapter schreibt (ohne Gewähr)

dürfte aber auch nicht allzu einfach sein

Antworten
Melanie Schmidt
  • Forum-Beiträge: 18

23.08.2013, 16:53:44 via Website

Könntest du das mit dem Adapter etwas erläutern? Ich hab zwar einen eigenen Adapter, aber keine Ahnung wie ich in dem das umsetzten sollte.

Danke

Antworten
Stefan J.
  • Forum-Beiträge: 30

23.08.2013, 17:51:03 via Website

man müsste glaube ich nur die getCount() und getView() überschreiben.

getCount() müsste einfach return 9 rein (das GridView soll ja immer aus 9 Elementen bestehen).

die getView() liefert für jede Position die View zurück die auf der Position angezeigt wird... die müsste man so umschreiben, dass sie deine Anforderungen erfüllt

Antworten
Melanie Schmidt
  • Forum-Beiträge: 18

27.08.2013, 12:40:02 via Website

Das mit dem Adapter habe ich noch nicht versucht.

Habe allerdings das Attribut "android:stackFromBottom" gefunden. Das befüllt die GridView von rechts unten an. Leider jedoch rechtsbündig, was ja normalerweise auch sinnvoll wäre. Ich bräuchte es aber linksbündig.

Antworten
Stefan J.
  • Forum-Beiträge: 30

27.08.2013, 18:24:13 via Website

Melanie Schmidt

Es sollte trotzdem das erste Element und rechts anfangen und dann oben links keine Elemente sein:
- - -
- 5 4
3 2 1

Also meintest du eigentlich
- - -
5 4 -
3 2 1
?

Hm so dürfte das schwer werden, wenn man nicht weiß, wieviele Zeilen das Grid hat. Weil man dann ja nicht weiß an welcher Position das leere Feld hin soll.

Antworten
impjor
  • Forum-Beiträge: 1.793

27.08.2013, 18:45:21 via Website

Christian Hempe
kannst dann nicht für die Elemente die Fehlen nicht einfach Dummys einfügen?
Vielleicht sowas wie Buttons ohne Klick oder mit einem transprenten Hintergrund.
Das dürfte immernoch die einfachste Variante sein. Mit Buttons, oder anderen Views.

LG

Liebe Grüße impjor.

Für ein gutes Miteinander: Unsere Regeln
Apps für jeden Einsatzzweck
Stellt eure App vor!

Antworten
Melanie Schmidt
  • Forum-Beiträge: 18

30.08.2013, 14:38:15 via Website

Ich habe es nun letztendlich mit Dummy Items befüllt. Schade, da gibt es anscheinend bei iOS mehr Möglichkeiten als bei Android.

Dennoch Danke für die Antworten :)

Antworten