我在LinearLayout中做了一个“getChildCount”。
我内部有一些可见的“GONE”视图。
他们会被计算在内吗?
我想只计算可见的观点。
答案 0 :(得分:1)
是的,他们会被计算在内。如果您只想计算可见的视图,我建议如下:
int numVisibleViews = 0;
for (int i = 0; i < layout.getChildCount(); i++) {
if (layout.getChildAt(i).getVisibility() == View.VISIBLE) {
numVisibleViews++;
}
}
答案 1 :(得分:1)
即使视图设置为已消失,它也会计算所有视图。如果您想要计算可见的数量,请阅读此帖后解决方案:
Android : getChildCount() returning incorrect number of Children
答案 2 :(得分:0)
由于文档没有声明它只计算可见视图,因此推断它返回可见项目的数量可能是错误的。
int getChildCount()
返回组中的子项数。
使用以下代码可以获得布局中可见项目的总数。
int cnt=0;
for (int i = 0; i < count; i++) {
final View child = getChildAt(i);
if (child.getVisibility() == View.VISIBLE) {
cnt++;
}