当我的活动被关闭时,我将应用程序状态数据序列化到文件中,以便在应用程序被系统杀死时重新加载状态。
这种方法(保存和恢复状态)效果很好。但是,有时,当进程被杀死时,根据要加载的数据量,加载状态进程可能至少需要几秒钟才能完成。
因此,我无法在单独的线程上加载状态,因为如果 onLoad 上没有数据,我的活动将崩溃。
所以,我想在加载内容时显示一个进度对话框,但是,确保只有在加载状态过程之后才会调用 Activity 的 onLoad 方法。
有谁知道我怎么能做到这一点?非常感谢。
当我的活动被关闭时,我将应用程序状态数据序列化到文件中,以便在应用程序被系统杀死时重新加载状态。
这种方法(保存和恢复状态)效果很好。但是,有时,当进程被杀死时,根据要加载的数据量,加载状态进程可能至少需要几秒钟才能完成。
因此,我无法在单独的线程上加载状态,因为如果 onLoad 上没有数据,我的活动将崩溃。
所以,我想在加载内容时显示一个进度对话框,但是,确保只有在加载状态过程之后才会调用 Activity 的 onLoad 方法。
有谁知道我怎么能做到这一点?非常感谢。
嗯..你能覆盖这个onLoad()
函数,然后添加一个布尔值来说明你是否正在显示对话框。如果对话框正在显示(布尔值为真),不要让onLoad()
任何事情做;否则,照常进行。这样,一旦对话框被关闭,您可以再次将布尔值设置为 false,如果onLoad()
之后默认不调用,也许您可以手动调用它?这只是一个想法。
换句话说:可以使用AsyncTask显示对话框。在该onPreExecute()
方法中,将布尔值设置为 true,在 中执行您需要的所有操作doInBackground()
,然后onPostExecute()
将布尔值设置为 false 并调用onLoad()
。
在旁注......你的意思是onCreate()
或onResume()
?我实际上没有听说过onLoad()
,除非这是您创建的功能。