如何迭代视图和&根据条件删除视图

时间:2017-11-06 05:22:29

标签: android

目前我想做类似的事情

FrameLayout parent = ...

for (childView in parent)
{
    if (satisfyPredicate(childView))
    {
        removeFromParent(childView);
    }
}

不幸的是,我似乎无法弄清楚如何在android中做到这一点(因为我正在改变列表)

要求:

  • 无法移除所有视图并重新填充所有视图(视图包含图片,此类算法会导致UI奇怪地闪烁)

1 个答案:

答案 0 :(得分:-1)

首先 - 如果你想走一个列表并改变它,你可以很容易。只需使用do,while或old样式进行从i = 0到parent.getChildCount()的循环  而不是foreach循环或迭代器。

其次 - 您可能不想删除视图,特别是如果您稍后可能会看到它们。您可能希望将其可见性设置为GONE(GONE视图不会绘制到屏幕上,也不会占用空间,但会保留在视图层次结构中)。