3

我有一个自定义 LinearLayout 的问题,它基本上是一个继承自 LinearLayout 的类。没什么特别的。问题是我需要获取自定义线性布局中的所有子视图。我尝试过:

this.getChildCount();

但它一直返回零,我开始认为,在我在构造函数中运行这段代码期间,可能还没有添加孩子?

提前致谢!

4

3 回答 3

4

非常感谢!最终这样做了:

@Override
protected void onFinishInflate ()
{
    super.onFinishInflate();
    childs = this.getChildCount();
}

由于我在活动中使用了 childs 变量,因此需要在点击活动-onCreate 之前设置该值。这解决了:)

感谢您的指导!

于 2013-05-03T10:57:21.750 回答
3

是的,您应该将this.getChildCount();相关代码移到onLayout. onLayout当视图应该为每个子视图分配大小和位置时调用Infact

于 2013-05-03T10:40:18.117 回答
1

在活动中膨胀后,您将获得线性布局的子数。

于 2013-05-03T10:44:14.087 回答