我有一个侦听器设置,可以将图像视图放入约束布局中。我想在将该视图添加到约束布局时触发一个事件。但是我终生无法弄清楚语法或如何使 .onViewAdded() 事件为我工作。我是否需要覆盖它并编写我自己的,如果需要,我如何将它附加到我的约束布局?
我现在正在尝试做的事情如下所示,很明显是错误的。显然我太离谱了,我什至不知道如何用谷歌搜索我正在尝试正确做的事情。有人可以帮我吗?
myConstraintLayout.onViewAdded {
// do my thing here
}
答案 0 :(得分:0)
我认为您必须扩展 ConstraintLayout
,覆盖 onViewAdded
(不要忘记调用 super()
),然后在覆盖的 {{ 1}} 方法。
如果您想知道视图何时添加到 onViewAdded
类之外,那么您还必须创建一个侦听器,每次调用 ConstraintLayout
时都会调用该侦听器。
然后,您将在新扩展的类中创建一个 onViewAdded()
方法,以允许其他类收到更改通知。
如果您想监听从应用程序生命周期开始时添加的视图,那么您必须在布局膨胀之前注册监听器。可能在 registerOnViewAddedListener()
。
我不会写 Kotlin,但如果需要,我可以用 Java 举一个例子。如果你想要一个 Java 示例,请在这篇文章中发表评论。
您还问“我如何将其附加到我的 ConstraintLayout?”
您将扩展 OnCreate()
,因此将在 XML 文件中使用您的扩展版本。