getChildCount()返回错误的子项数

时间:2013-07-08 12:14:24

标签: android android-layout textview android-custom-view

我创建了一个带有X按钮的自定义TextView,当单击该按钮时,其可见性设置为GONE。现在我想获得TextViews中可见LinearLayout的数量。目前,我得到的是插入的TextViews总数而不是可见的。

示例:

当我有2个TextView时,getChildCount()给出2 但如果我通过点击X按钮删除一个TextView,它仍然会给我2.为什么会发生这种情况?

我创造了这样的东西:

It is a TextView

此处的X是一个按钮,其onClick()会将TextViewButton的可见性设置为GONE。

1 个答案:

答案 0 :(得分:3)

  

如何获得可见孩子的数量?

那么你需要遍历视图/布局的子项并检查可见性。这是一个简单的循环:

// untested/pseudocode
int visibleChildren = 0;
for (int i = 0; i < layout.getChildCount(); i++) {
    if (layout.getChildAt(i).getVisibility() == View.VISIBLE) {
        visibleChildren++;
    }
}