我试图动态地向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>