我有一个片段,应该创建一些文件,遍历联系簿和其他一些很长的任务。 片段非常简单"嘿,请稍候"带有标签和进度条的片段。我使用工厂模式将参数传递给这个片段。
我的片段代码与this question的解决方案相当,只与其他参数和成员相匹配。在onStart
- 方法中,我想完成我的长任务,但奇怪的是,在我看到我的视图之前启动代码,如果我记得片段,那么首先应该由onCreateView
- 方法创建。生命周期正确。
这是工厂模式的副作用还是我在这里缺少什么?这里最好的解决方案是什么,以便在开始执行长代码之前实际显示视图?
答案 0 :(得分:1)
OnStart 。 onCreateView将创建您的视图,但它尚不可见。你应该在onResume上开始长时间的操作。
答案 1 :(得分: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)