【问题标题】:Show ProgressDialog while loading AppState from file从文件加载 AppState 时显示 ProgressDialog
【发布时间】:2012-07-17 10:38:44
【问题描述】:

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

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

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

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

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

【问题讨论】:

    标签: android android-activity state activity-lifecycle


    【解决方案1】:

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

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

    附带说明...您是指onCreate() 还是onResume()?我实际上没有听说过onLoad(),除非这是你创建的函数。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-12-20
      • 2011-09-23
      • 2013-06-12
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多