应该访问从onStart或onActivityCreated方法完成的视图?

时间:2014-01-06 06:54:26

标签: android android-fragments

我已经阅读了几篇关于此的文档,但仍然无法总结我应该在哪里编写代码来在textviews / edittext中设置一些值......

我在视频教程中看到和看到的是,onStart和onActivityCreated方法都会被调用不同的动作(如片段启动后,或方向更改等)。此外,它们都在Activity的onCreate方法之后被调用,这意味着可以从两种Fragment方法获得视图。

有人可以就此提出一些建议吗?

(p.s。目前我把所有代码都放在onStart中访问xml视图,我的应用程序运行没有任何问题)

1 个答案:

答案 0 :(得分:4)

我不知道在onStart或onActivityCreated中访问布局视图有任何潜在问题。

就个人而言,我通常会设置对布局视图的引用,并在片段的#onViewCreated()中设置初始值。这是布局膨胀后您必须访问布局的子项的第一次机会。膨胀的视图作为参数传递,因此如果您出于某种原因需要它,您甚至可以直接访问父布局对象。

根据片段生命周期onActivityCreated()将被调用next,然后调用onStart()。当从后台堆栈返回一个片段时,所有这些都将以相同的顺序执行 - 所以它似乎是个人偏好。