在Android中显示对话框产生崩溃
问题描述:
我的应用程序中存在ProgressDialog问题。 我在后台执行一些任务,并使用处理程序将操作通知给我的Activity。 有时候,并非总是如此,当我试图表明我的对话框的应用程序崩溃并出现此异常:在Android中显示对话框产生崩溃
android.view.windowleaked
对话的方式展开:
try {
pd = new ProgressDialog(VoiceAcquisitionActivity.this);
pd.setMessage("blablabla");
pd.setCancelable(false);
pd.show();
} catch (Exception e) {
e.printStackTrace();
}
我读过这个例外是正常的在.dismiss()
操作但是在.show()
??
我该如何避免这个问题?
感谢
答
安全你可以包装在类似的代码块你的对话逻辑:
if(!isFinishing()){
pd = newProgressDialog(VoiceAcquisitionActivity.this);
pd.setMessage("Loading message");
pd.setCancelable(false);
pd.show();
}
+0
我不认为这个解决方案修复了,因为活动没有完成,当收到此消息 – user3086708
+0
@ user3086708这是一个安全检查,因为,如果您的活动正在完成,它不会尝试显示对话框没有上下文的活动。看来问题在于你的活动崩溃了,你试图在这次崩溃期间显示一个对话框。请发布完整的堆栈跟踪 –
是您的活动运行? – Blackbelt
是的,因为此代码在活动 – user3086708
中被调用,对不起,您是否可以删除我的软件包名称?谢谢 – user3086708