Android:将活动的onCreate()代码放在哪里?

Android:将活动的onCreate()代码放在哪里?,第1张

Android:将活动的onCreate()代码放在哪里?

尽管Pragnani的答案很接近,但其中几乎没有教育价值。此外,他的第二条陈述还有一个更合适的选择。

我应将此代码放在片段的什么位置?在onCreate()中?onCreateView()?onActivityCreated()?为什么呢?

简短的答案是:要么

onCreateView()
onActivityCreated()
将做。直到才会创建视图层次结构
onCreateView()
,因此这是该片段生命周期中的最早时间,您可以膨胀视图并附加单击侦听器等。由于
onActivityCreated()
将始终在之后运行
onCreateView()
,所以这也是一个合适的位置。
onCreate()
可以跳过该 *** 作,以利于系统临时分离片段并重新连接它,例如在保留片段时。

Pragnani指出,扩大片段的视图与扩大活动中的视图略有不同是正确的。更具体地说:片段没有定义

findViewById()
方法,因此您需要在其他对象上调用它。

getActivity().findViewById()
您会想要而不是使用
getView().findViewById()

。这样做的原因是,如果您将活动用于视图查找,那么当将多个具有相同视图ID的片段附加到该活动时,您会遇到麻烦。如果您在各个片段的布局中重复使用视图ID,或者显示两个显示不同数据的相同片段,就会出现这种情况。在这两种情况下,都只会返回第一个匹配项,而您确实希望在片段的扩展部分中查找视图。这正是
getView()
返回的内容,即片段的根视图(您在中返回的
onCreateView()
),因此适当地限制了查找的范围。



欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/5489813.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-13
下一篇 2022-12-12

发表评论

登录后才能评论

评论列表(0条)

保存