Я пытаюсь динамически добавлять и удалять строки из TableLayout.
Макет определен в XML-файле.
Я могу успешно удалить строку, но при вызове соответствующей команды addView ничего не происходит.
table = (TableLayout)findViewById(R.id.table);
row = (TableRow)findViewById(R.id.row);
table.removeView(row);
table.addView(row);
В результате удаляется строка, но не добавляется снова.
Редактировать: Оказывается, оно добавлялось, если в конце концов, просто внизу экрана, а не в том же месте, в котором оно было удалено.
Я могу добавить его в правильную позицию, указав индекс:
table.addView(row,4); // 4 happens to the the row
но я не могу понять, как определить индекс строки, кажется, нет способа для достижения этой цели. Кто-нибудь знает, как это сделать? (т. е. если бы я не знал, что индекс равен 4, как я могу это выяснить)
Редактировать: включен XML. это только рассматриваемая строка, выше и ниже есть другие строки
<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>