Android更新视图树

Android更新视图树,android,view,android-linearlayout,Android,View,Android Linearlayout,问题是: 我有一个类,继承自LinearLayout。 该类在构造函数中创建一些按钮,并使用addChild()将它们放入自身。 我已经重载了SizeChanged上的方法,我想在这个方法中添加一些child。 但是,只有单击其他按钮之一,更改才会生效 所以,我需要按下一些现有的按钮,然后我添加的视图就会出现。 (顺便说一句,只有带有ontouchlistener的按钮才能执行此操作。没有listener的按钮无法显示新视图) 如何在onSizeChange方法中添加视图以立即添加视图 补充:

问题是:

我有一个类,继承自
LinearLayout
。 该类在构造函数中创建一些按钮,并使用
addChild()
将它们放入自身。 我已经重载了SizeChanged上的方法
,我想在这个方法中添加一些child。
但是,只有单击其他按钮之一,更改才会生效

所以,我需要按下一些现有的按钮,然后我添加的视图就会出现。 (顺便说一句,只有带有ontouchlistener的按钮才能执行此操作。没有listener的按钮无法显示新视图)

如何在
onSizeChange
方法中添加视图以立即添加视图

补充:
方法
forceLayout()
requestLayout()
无法工作。

我自己没有扩展LinearLayout,但我读了一点类,我认为您需要重写onLayout(),并在其中添加子视图。检查文档,看看是否有帮助


)

解决方案是:制作一个简单的布尔标志,将其设置为“true”imonSizeChanged并调用“invalidate”


在方法“onDraw”中,检查标志是否为true,如果为true,则调用requestLayout。然后将flag设置为false。

是否覆盖onLayout()?不,我没有覆盖onLayout