繁体   English   中英

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

[英]Why is my reference to ProgressDialog wrong after onStop >> onStart?

我在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永远不会隐藏。 这是怎么回事?!

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM