[英]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.