如何在约束布局中使用 .onViewAdded

时间:2021-02-10 22:36:27

标签: android kotlin event-handling

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

我现在正在尝试做的事情如下所示,很明显是错误的。显然我太离谱了,我什至不知道如何用谷歌搜索我正在尝试正确做的事情。有人可以帮我吗?

myConstraintLayout.onViewAdded {
// do my thing here
}

1 个答案:

答案 0 :(得分:0)

我认为您必须扩展 ConstraintLayout,覆盖 onViewAdded(不要忘记调用 super()),然后在覆盖的 {{ 1}} 方法。

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

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

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

我不会写 Kotlin,但如果需要,我可以用 Java 举一个例子。如果你想要一个 Java 示例,请在这篇文章中发表评论。

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

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

相关问题