gpt4 book ai didi

java - 为什么 Android Views 的 onCreate 方法不仅仅是构造函数?

转载 作者:搜寻专家 更新时间:2023-11-01 07:48:49 25 4
gpt4 key购买 nike

Android 的 onCreate 方法似乎可以完成您通常在构造函数中执行的所有操作。

我有一些代码以编程方式将一些 View 添加到布局中,并且使用 onCreate 方法似乎有点毫无意义 - 我这样做只是为了保持一致性。

    for (Contact contact : manager.getContacts()) {
GuiContact guiContact = new GuiContact(contact, this);
guiContact.onCreate();

// add them to the UI
guiContact.setLayoutParams(new ViewGroup.LayoutParams(
ViewGroup.LayoutParams.MATCH_PARENT,
ViewGroup.LayoutParams.WRAP_CONTENT
));
contactListLayout.addView(guiContact);
}

为什么这个功能在 onCreate 而不是在构造函数中?

(如果功能在构造函数中,那么与 final 成员相关的优势会更大。)

最佳答案

这是因为您从不自己实例化一个Activity。系统为你做。为此,它需要一个不带任何参数的构造函数。所以,最好在onCreate()中进行初始化。

此外,您在 onCreate() 方法中设置了您的 Activity 布局,因此在构造函数中获取该布局的句柄将不起作用,您也不会能够向其中动态添加 View 。

关于java - 为什么 Android Views 的 onCreate 方法不仅仅是构造函数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38342804/

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