我有一个包含线程和进度对话框的类。当线程停止时,对话框必须解除。但如果线程停止,应用程序崩溃:S有没有人知道什么是错的?
public class Main extends Activity {
public static ProgressDialog LoadingDialog = null;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
LoadingDialog.show(AndroidRSSReader.this, "Laden...", "Even geduld aub...", true);
setContentView(R.layout.main);
startUp();
new Thread(new Runnable(){
public void run() {
try {
Thread.sleep(1000);
} catch (InterruptedException e) {
e.printStackTrace();
}
LoadingDialog.dismiss();
}
}).start();
}
答案 0 :(得分:3)
LoadingDialog
仍为null。您需要确保并将其分配给某些内容(例如您的进度条)。
LoadingDialog = ProgressDialog.show(AndroidRSSReader.this, "Laden...", "Even geduld aub...", true);
答案 1 :(得分:1)
似乎在解除对话框时遇到问题尝试使用处理程序在UI线程上执行操作:
private Handler handler = new Handler() {
@Override
public void handleMessage(Message msg) {
// perform logic
if(LoadingDialog!=null)//first check if dialog is not null.This might be a reason for crashing
LoadingDialog.dismiss();
LoadingDialog=null
}
};
&安培;然后只需致电handler.sendEmptyMessage(0);
即可在您的活动中调用它
&你完成了。
其他建议:还要查看AsyncTask以执行异步操作。