在onStop>>之后,为什么我对ProgressDialog的引用错误?在onStart?

时间:2014-09-08 22:10:49

标签: android progressdialog android-lifecycle

我在onStart中创建了一个ProgressDialog,然后在异步任务返回后,我隐藏/解除它。

当我跳转到主屏幕并返回,并将新的ProgressDialog重新实例化为变量时,稍后的代码仍会引用上次设置ProgressDialog时的旧内存地址。

我尝试了很多不同的方法,但我很难过。在第一次启动应用程序后,我无法让ProgressDialog正常运行。有人可以指导我如何解决这个问题,或建议采用不同的方法吗?

感谢。

编辑:我应该提一下,我尝试使用我最初设置的相同变量,而不是重新实例化它,但隐藏/解除没有做任何事。

在onStart()

mProgressDialog = new ProgressDialog(this);
mProgressDialog.show();

然后在我的updateMap()

mProgressDialog.dismiss(); // Or hide()

第一次运行时效果很好。但是当活动停止并重新启动时,第二个块不会按预期执行。

编辑2:

private ProgressDialog mProgressDialog;

的onCreate()

mProgressDialog = new ProgressDialog(this);

的onResume()

mProgressDialog.show();

updateMap()

mProgressDialog.hide();

它在第一次运行时起作用,但当我跳到主屏幕并返回时,ProgressDialog从不隐藏。发生什么事了?!

1 个答案:

答案 0 :(得分:1)

尝试将ProgressDialog变量设置为static。重新创建活动时,它应引用附加到该活动类的相同ProgressDialog,而不是该类的新实例中的新活动。

相关问题