有没有办法检查视图是否有孩子?例如......
boolean bool = view.hasChildren(); //returns true if view has one or more children
我需要知道这一点,因为我有一个空的布局我正在动态添加新视图,我需要知道布局是否为空。
答案 0 :(得分:10)
有没有办法检查视图是否有子视图
假设是ViewGroup
的子类,您可以使用getChildCount()
。 E.g。
public static boolean hasChildren(ViewGroup viewGroup) {
return viewGroup.getChildCount() > 0;
}
答案 1 :(得分:0)
试试这个:
for(int index=0; index<((ViewGroup)viewGroup).getChildCount(); ++index) {
View nextChild = ((ViewGroup)viewGroup).getChildAt(index);
}
答案 2 :(得分:0)
我们还需要检查视图是否可以有子视图。 例如,
private int getViewsCount(View view){
try{
return ((ViewGroup) view).getChildCount();
}catch(Exception e){
return 0;
}
}
某些视图(例如 TextView 和 ImageView)无法转换为 ViewGroup,因此我们需要捕获该异常以避免运行时错误。