我在我的ProgressDialog中创建了一个onStart,然后在异步任务返回之后,我隐藏/拒绝它。
当我跳到主屏幕并返回,并对变量重新实例化一个新的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();
它可以在第一次运行时运行,但是当I跳转到主屏幕并返回时,ProgressDialog永远不会隐藏。到底怎么回事?!
发布于 2014-09-09 07:45:10
尝试将ProgressDialog变量设置为静态。在重新创建活动时,它应该引用附加到该活动类的相同ProgressDialog,而不是引用类的新实例中的新活动。
https://stackoverflow.com/questions/25733870
复制相似问题