大家好,为什么当我添加ProgressDialog时它变得无法响应
ProgressDialog dialog = ProgressDialog.show(AppsInspectorActivity.this, "",
"Scanning package " + pkgInfo.packageName, true);
dialog.setCancelable(true);
dialog.show();
高于Log.v(TAG, "Scanning package " + pkgInfo.packageName);
private List<PackageInfo> getAdPackages() {
[重磅]
return new ArrayList<PackageInfo>(adPackages);
}
}
答案 0 :(得分:1)
ASyncTask是要走的路。只是覆盖doInBackground()。并使用Handler类来停止(dismiss())progressDialog。
http://www.helloandroid.com/tutorials/using-threads-and-progressdialog 似乎很有用......
http://www.vogella.de/articles/AndroidPerformance/article.html 非常深入的版本..
答案 1 :(得分:0)
你能定义什么不响应意味着什么?对话框是否从不显示,或按下后退时根本不解除?操作完成后,尝试使用以下命令关闭对话框:
dialog.dismiss()
答案 2 :(得分:0)
所以我要猜测一下这个问题,如果你说进度对话框冻结了,应用程序变得没有响应,那么你似乎还没有完成对话框设计代表的长期过程。默认情况下,所有代码都在UI线程上运行,因此如果您的进程需要很长时间,则屏幕不会更新,并且用户会收到死亡通知(未响应)。您应该根据onProgressUpdate方法的需要对长期过程进行线程化(最好是在异步任务中)并将更新发布到进度对话框。