我有一个自定义 LinearLayout 的问题,它基本上是一个继承自 LinearLayout 的类。没什么特别的。问题是我需要获取自定义线性布局中的所有子视图。我尝试过:
this.getChildCount();
但它一直返回零,我开始认为,在我在构造函数中运行这段代码期间,可能还没有添加孩子?
提前致谢!
我有一个自定义 LinearLayout 的问题,它基本上是一个继承自 LinearLayout 的类。没什么特别的。问题是我需要获取自定义线性布局中的所有子视图。我尝试过:
this.getChildCount();
但它一直返回零,我开始认为,在我在构造函数中运行这段代码期间,可能还没有添加孩子?
提前致谢!
非常感谢!最终这样做了:
@Override
protected void onFinishInflate ()
{
super.onFinishInflate();
childs = this.getChildCount();
}
由于我在活动中使用了 childs 变量,因此需要在点击活动-onCreate 之前设置该值。这解决了:)
感谢您的指导!
是的,您应该将this.getChildCount();
相关代码移到onLayout
. onLayout
当视图应该为每个子视图分配大小和位置时调用Infact
在活动中膨胀后,您将获得线性布局的子数。