Ich konstruiere TableLayout dynamisch. Und ich brauche TableRow hat eine Lücke in bestimmten Spaltenposition.Android TableRow - Wie dynamisch zu einer bestimmten Position hinzufügen?
Zum Beispiel brauche ich Zeile hat ImageView auf 3 und 5 Position, nächste Zeile hat ImageView auf 1, 2, 4 Position. Ich versuche zu verwenden:
TableRow row1 = new TableRow(this);
row1.addView(new ImageView(this), 2);
row1.addView(new ImageView(this), 4);
mTable.addView(row1);
TableRow row2 = new TableRow(this);
row2.addView(new ImageView(this), 0);
row2.addView(new ImageView(this), 1);
row2.addView(new ImageView(this), 3);
mTable.addView(row2);
aber ich habe IndexOfBoundException zur Laufzeit.
ERROR/Android Runtime (771): Verursacht durch: java.lang.IndexOutOfBoundsException: index = 2 count = 0
Irgendwelche Vorschläge geschätzt würde.
Vielen Dank.
Serhy, danke für die Antwort. Aber vielleicht wissen Sie, wie ich die Anzahl der Spalten in einer Zeile angeben soll? Oder Anzahl der Zeilen und Spalten in einer Tabelle? Ich wollte nur addView (Ansicht, Index) ohne solchen Fehler ... – levkatata
Wenn ich Sie richtig verstehe, möchten Sie Bilder in einer Zelle haben, dann nicht in der nächsten, dann ein Bild, dann nicht, ... und dann in der nächsten Zeile das Gegenteil, beginnend mit einer leeren Zelle? – Sephy
Ja, Serhy, du hast Recht. Aber es gibt verschiedene solche Layouts, die ich erstellen muss, wie eine Raute, wie ein Kreuz, wie eine Zecke und so weiter. Ich habe deine Lösung ausprobiert, es funktioniert super! Aber ich habe bemerkt, dass die Zeit der Erstellung eines solchen Layouts von der Anzahl der erstellten Ansichten abhängt. Ich muss viele leere Ansichten erstellen ... – levkatata