1

我有一个片段,它应该创建一些文件,遍历通讯录和其他一些相当长的任务。该片段是一个非常简单的“嘿,请稍候”片段,带有一个标签和一个进度条。我使用工厂模式将参数传递给这个片段。

我的片段代码与这个问题的解决方案相当,只有其他参数和成员。在onStart- 方法中,我想做我的长任务,但奇怪的是它在我看到我的视图之前启动代码onCreateView,如果我记得 Fragment-lifecycle 正确的话,它应该首先由 - 方法创建。

这是工厂模式的副作用还是我在这里遗漏了什么?这里最好的解决方案是什么,以便在他开始我的长代码执行之前实际显示视图?

4

2 回答 2

1

当活动对用户可见时调用OnStart 。onCreateView 将创建您的视图,但它还不可见。您应该在 onResume 中开始您的长期操作。

于 2015-02-20T11:57:43.670 回答
0

请参考http://developer.android.com/reference/android/app/Activity.html#onResume()

基本上正如 Nauman 所提到的,onResume 通常表明您的活动已准备好与用户进行交互。但理想情况下,使用

onWindowFocusChanged(boolean hasFocus)

但请记住,这不是正常生命周期事件流的一部分。当 Activity 等前面出现对话框时,也可以调用此方法

http://developer.android.com/reference/android/app/Activity.html#onWindowFocusChanged(boolean)

于 2015-02-20T12:08:15.847 回答