1

当我的活动被关闭时,我将应用程序状态数据序列化到文件中,以便在应用程序被系统杀死时重新加载状态。

这种方法(保存和恢复状态)效果很好。但是,有时,当进程被杀死时,根据要加载的数据量,加载状态进程可能至少需要几秒钟才能完成。

因此,我无法在单独的线程上加载状态,因为如果 onLoad 上没有数据,我的活动将崩溃。

所以,我想在加载内容时显示一个进度对话框,但是,确保只有在加载状态过程之后才会调用 Activity 的 onLoad 方法。

有谁知道我怎么能做到这一点?非常感谢。

4

1 回答 1

1

嗯..你能覆盖这个onLoad()函数,然后添加一个布尔值来说明你是否正在显示对话框。如果对话框正在显示(布尔值为真),不要让onLoad()任何事情做;否则,照常进行。这样,一旦对话框被关闭,您可以再次将布尔值设置为 false,如果onLoad()之后默认不调用,也许您可​​以手动调用它?这只是一个想法。

换句话说:可以使用AsyncTask显示对话框。在该onPreExecute()方法中,将布尔值设置为 true,在 中执行您需要的所有操作doInBackground(),然后onPostExecute()将布尔值设置为 false 并调用onLoad()

在旁注......你的意思是onCreate()onResume()?我实际上没有听说过onLoad(),除非这是您创建的功能。

于 2012-07-18T11:51:17.873 回答