由于 Activity 重新创建,Progressdialog 无法关闭
Posted
技术标签:
【中文标题】由于 Activity 重新创建,Progressdialog 无法关闭【英文标题】:Progressdialog fails to get dismissed because of Activity recreate 【发布时间】:2017-04-10 00:59:02 【问题描述】:我有一个对话框,它在 Activity 创建期间 syas Loading 和一个 dialog.dismiss 稍后在可运行文件内的代码中。 现在在 Activity onCreate 的某个时刻,我的 Activity 被重新创建以获取有关请求权限的信息。问题是在可运行文件中没有触发 dialog.dismiss。对话框永远不会消失。
dialog = ProgressDialog.show(TripActivity.this, "", "Loading...");
final Handler handler1 = new Handler();
handler1.post(new Runnable()
@Override
public void run()
// b=oldvalue;
// mListener.doYourWork(id_share);
// Post again 16ms later.
handler1.postDelayed(this, 5000);
dialog.dismiss();
【问题讨论】:
【参考方案1】:每次调用 onCreate 时,ProgressDialog.show()
行都会返回一个新的 ProgressDialog 引用。
在尝试再次创建之前,您应该检查dialog
是否为空。另外,记得在活动调用onDestroy
时关闭它。
【讨论】:
以上是关于由于 Activity 重新创建,Progressdialog 无法关闭的主要内容,如果未能解决你的问题,请参考以下文章
Swift 3 Core Data Migration with Progress Indicator 或 Activity Spinner
在 Activity 重新创建时如何确定 Fragment 恢复?