我有一个带有线程和进度对话框的类。当线程停止时,对话框必须关闭。但是,如果线程停止,则应用程序崩溃: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();
} 最佳答案
似乎在关闭对话框时遇到问题,请尝试使用Handler对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来执行异步操作。