我有一个带有线程和进度对话框的类。当线程停止时,对话框必须关闭。但是,如果线程停止,则应用程序崩溃: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来执行异步操作。

10-07 12:40