Estoy intentando agregar y eliminar dinámicamente filas de un TableLayout.Adición y eliminación dinámicas de filas de tablas: Android
El diseño se define en un archivo xml.
Soy capaz de eliminar correctamente una fila, pero cuando llamo al comando addView correspondiente no pasa nada.
table = (TableLayout)findViewById(R.id.table);
row = (TableRow)findViewById(R.id.row);
table.removeView(row);
table.addView(row);
Esto provoca que se elimine una fila, pero que no se vuelva a agregar.
Editar: Resultó que estaba agregando, si después de todo, solo en la parte inferior de la pantalla en lugar de en la misma ubicación desde la que se eliminó.
Puedo añadir que en la posición correcta especificando el índice:
table.addView(row,4); // 4 happens to the the row
pero no puedo encontrar la manera de determinar el índice de la fila, no parece haber un método para lograr esto. Alguien sabe cómo hacer eso? (es decir, si no sabía que el índice era 4, ¿cómo podría averiguarlo?)
Edición: XML incluido. esto es sólo la fila en cuestión, hay otras filas por encima y por debajo de ella
<TableRow android:id="@+id/row">
<TextView android:id="@+id/field1"
android:text="testing"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:padding="3dip"
android:textStyle="bold"
android:textSize="18dip"
/>
<TextView android:id="@+id/field2"
android:padding="3dip"
android:text="test"
android:textSize="18dip"
android:gravity="right"
/>
</TableRow>
Tu código funciona bien con un diseño de prueba. Desea ver su diseño XML para seguir comentando. – bhatt4982
¿Tiene filas arriba y debajo de la fila en cuestión? – brodie31k