3

我正在寻找片段生命周期中的方法,但我不确定哪一个。Android:片段生命周期中的方法

这是我的情况:我有一个ViewPager内的片段。片段显示包含一些信息的列表。我填写了片段的onCreateView()中的列表。当用户打开不同的活动(在这种情况下为设置)并更改一些设置时,片段中的列表必须显示的信息发生变化。当用户使用后退按钮返回片段时,onCreateView()不会被重新调用,因此列表中的信息不会更新。

我的问题是:onCreateView() - 当用户返回片段形式不同的活动,但在这里调用哪种方法时不调用 - 方法?我需要知道这一点,因为那样我就可以在该方法中填充List。

在此先感谢!

+1

“onResume”呢? – 2013-03-09 10:32:20

+0

@vmironov'onResume()'也被称为第一次创建片段或只有当用户返回? – Xander 2013-03-09 10:33:19

+0

是的,当创建片段时调用它 – 2013-03-09 10:33:56

回答

2

重要且非显而易见的一点是,不仅在您选择带有此片段的Tab时调用片段的onCreateView()。所以当使用ViewPager()时,不依赖片段的onCreateView()。当你选择Tab时,Android创建sible视图(缓存它们)或者做出类似的事情。

当用户在ViewPager中选择正确的Tab时(不记得确切,但希望它有帮助),你应该调用你的更新方法。

+0

我会记住这一点,但现在,我只在onCreateView()中调用'findViewById()',所以我敢打赌,这不会是一个问题,是吗? – Xander 2013-03-09 10:50:38

+0

使用findViewById() - 没有问题,因为您只需创建一些视图的引用。如果您放置一些UI刷新,或者特别耗费时间的逻辑,可能会出现意外的行为,因为它可能比您预期的要早。 – 2013-03-09 18:31:18

+0

好的,谢谢! – Xander 2013-03-09 18:34:47