Estoy construyendo TableLayout dinámicamente. Y necesito que TableRow tenga un espacio en cierta posición de columna.Android TableRow - ¿Cómo agregar View dinámicamente a cierta posición?
Por ejemplo, necesito que la fila tenga ImageView en la posición 3 y 5, la siguiente fila tiene ImageView en 1, 2, 4 posición. Intento usar:
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);
pero tengo IndexOfBoundException en Runtime.
ERROR/Android Runtime (771): Causado por: java.lang.IndexOutOfBoundsException: índice = 2 count = 0
sería apreciada cualquier sugerencia.
Gracias.
Serhy, gracias por su respuesta. Pero, tal vez, ¿sabes cómo debo especificar la cantidad de columnas en una fila? O la cantidad de filas y columnas en una tabla? Solo quería usar addView (ver, indexar) sin dicho error ... – levkatata
Si lo entiendo bien, quiere tener imágenes en una celda, luego no en la siguiente, luego una imagen, luego no, ... y luego en la línea siguiente, ¿lo contrario, comenzando con una celda vacía? – Sephy
Sí, Serhy, tienes razón. Pero hay varios diseños que necesito crear, como un rombo, como una cruz, como un tic y así sucesivamente. He intentado con tu solución, ¡funciona genial! Pero me di cuenta de que el tiempo de creación de dicho diseño aumenta dependiendo de la cantidad de vistas que creo. Tengo que crear muchas vistas vacías ... – levkatata