【发布时间】:2017-09-08 20:36:01
【问题描述】:
我使用以下代码从我的表格布局中删除行;
System.out.println(vi);给了我 4 个独特的行,这是正确的,但为什么我的循环没有一次删除所有行。我需要点击 3 次。
这段代码放在myOnclickHandler中;
public void onClick(View v) {
TableLayout container = (TableLayout) v.getParent().getParent();
int childcount = container.getChildCount();
View vi;
for (int i = 0; i < childcount; i++) {
vi = container.getChildAt(i);
container.removeView(vi);
System.out.println(vi);
}
}
【问题讨论】:
-
你检查childcount值了吗?
-
改用 container.removeAllViews()。
-
是的,所以我说我得到了 4 个唯一的行作为结果
-
是的,这是工作 container.removeAllViews();但我无法理解,如果 container.removeAllViews() 删除了所有子行并且在删除后我添加了新的行,我收到错误消息 java.lang.IllegalStateException: The specified child has a parent。您必须先在孩子的父母上调用 removeView()。
标签: java android tablelayout