我正在动态创建大量视图并将它们添加到我的RelativeLayout
. 我需要跟踪所有这些视图,以便稍后删除它们,因此我将它们添加为ArrayList
. 但是当我尝试从布局中删除它们时,它们并没有全部删除。
ArrayList<LineView> lineChain = new ArrayList<LineView>();
LineView linkLine;
RelativeLayout wrapper; // Removed params etc.
// Later on in code
// This occurs many times
linkLine = new LineView(getApplicationContext());
wrapper.addView(linkLine, rlp);
lineChain.add(linkLine);
这就是我尝试删除所有视图时所做的。这只会发生一次:
for (int i = 0; i <= lineChain.size() -1; i++) {
LineView lv = lineChain.get(i);
wrapper.removeView(lv);
lineChain.remove(i);
}
正如我所说,问题在于并不是所有的行都被删除了——我没有设法找出哪些被删除而哪些没有被删除的模式。