我在某些Activity中添加了进度对话框。但是我在title.how中提到Exception以解决它。
dialog = ProgressDialog.show(Notification.this, "loading please wait",
"Loading. Please wait...", true);
new Thread() {
public void run() {
try{
performBackgroundProcess1();
//sleep(3000,000);
} catch (Exception e) {
Log.e("tag", e.getMessage());
}
// dismiss the progress dialog
dialog.dismiss();
}
}.start();
this.all背景进程在performbackgroundprocess方法中执行。
答案 0 :(得分:0)
你不能调用dialog.dismiss();在后台线程中。 您可以使线程在处理完成后向处理程序发送消息,并且在处理程序中您可以关闭对话框。处理程序在ui线程中工作
有一个关于它的tutorial
答案 1 :(得分:0)
将runOnUiThread用作:
new Thread() {
public void run() {
try{
performBackgroundProcess1();
//sleep(3000,000);
} catch (Exception e) {
Log.e("tag", e.getMessage());
}
// dismiss the progress dialog
CurrentActivity.this.runOnUiThread(new Runnable(){
@Override
public void run() {
// TODO Auto-generated method stub
dialog.dismiss();
}
});
}
}.start();