我正在尝试从 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>
Use hierarchyviewer
(在您的 SDK 中tools/
目录)来确定该行是否确实没有被添加,或者正在添加,但某些布局参数混乱,因此它没有出现在屏幕上。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)