如何将 .onViewAdded 与约束布局一起使用

how to use .onViewAdded with a Constraint Layout

我有一个侦听器设置,可以将图像视图放入约束布局中。我想在将该视图添加到约束布局时触发一个事件。但我终其一生都无法弄清楚语法或如何使 .onViewAdded() 事件为我工作。我是否需要覆盖它并自己编写,如果需要,我如何将它附加到我的约束布局?

我现在正在尝试做的事情如下所示,而且很明显是错误的。显然我太离谱了,我什至无法弄清楚如何 google 我想做的事情是正确的。有人可以帮我吗?

myConstraintLayout.onViewAdded {
// do my thing here
}

我认为你必须扩展ConstraintLayout,覆盖onViewAdded(不要忘记调用super()),然后在覆盖的末尾执行你想要的代码onViewAdded 方法。

如果您想知道何时将视图添加到 ConstraintLayout class 之外,那么您还必须创建一个侦听器,每次调用 onViewAdded() 时都会调用该侦听器。

然后您将在新扩展的 class 中创建一个 registerOnViewAddedListener() 方法,以允许其他 class 收到更改通知。

如果您想监听从应用程序生命周期开始时添加的视图,那么您必须在扩充布局之前注册监听器。可能在 OnCreate().

我不会写 Kotlin,但如果需要,我可以在 Java 中举个例子。如果您想要 Java.

中的示例,请对此 post 发表评论

您还问过“如何将它附加到我的 ConstraintLayout?”

您将扩展 ConstraintLayout,因此将在 XML 文件中使用您的扩展版本。