如何检查视图是否有子项

时间:2016-10-04 08:12:40

标签: android

有没有办法检查视图是否有孩子?例如......

boolean bool = view.hasChildren(); //returns true if view has one or more children

我需要知道这一点,因为我有一个空的布局我正在动态添加新视图,我需要知道布局是否为空。

3 个答案:

答案 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,因此我们需要捕获该异常以避免运行时错误。