gpt4 book ai didi

android - 将 XML 中的所有 subview 添加到 ViewGroup 后回调?

转载 作者:塔克拉玛干 更新时间:2023-11-02 23:52:24 25 4
gpt4 key购买 nike

我在编写自定义 ViewGroup 时遇到了以下问题:

ViewGroup 应该可以通过仅在 XML 中指定属性来使用。但是,我想在创建 ViewGroup 并添加来自 XML 的所有子 View 之后在代码中进行一些内部初始化(即,当布局充气器时已添加在 XML 中指定的 ViewGroup 的所有子 View

我发现与此相关的所有内容都是使用 getViewTreeObserver().addOnGlobalLayoutListener(...) 的建议。然而,这至少在添加每个子 View 之后以及在恢复应用程序等之后被调用。因此它甚至无法检测到所有子 View 的时刻>已添加。

是否有在所有子 View 都添加到 ViewGroup 后调用的方法?

相关:When are child views added to Layout/ViewGroup from XML

最佳答案

有一个回调:View.onFinishInflate()。来自documentation (其中还有一个描述所有回调的“实现自定义 View ”部分):

Finalize inflating a view from XML. This is called as the last phase of inflation, after all child views have been added.

只需覆盖自定义ViewGroup中的方法:

public class MyViewGroup extends ViewGroup {

@Override
protected void onFinishInflate() {
super.onFinishInflate();
doMyInitialization();
}
}

关于android - 将 XML 中的所有 subview 添加到 ViewGroup 后回调?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40183648/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com