2010-07-27 23 views
5

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.

Respuesta

4

En realidad, el error parece bastante lógico a primera vista en su código. A menos que la tabla se cree desde xml y como el número requerido de filas, cuando agrega una vista en el índice 2, este índice no existe. Intenta reemplazar este 2 por un 0, verás que funciona. Entonces solo necesita agregar ImageView vacío a los otros índices si desea mantener el suyo.

+0

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

+0

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

+0

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

Cuestiones relacionadas