ProgressDialog.schließen() funktioniert nicht

Bitte überprüfen Sie den folgenden Beispielcode. Toast-Meldungen werden angezeigt aber der progressdialog wird nie versteckt. Warum?

import android.app.Activity;
import android.app.ProgressDialog;
import android.os.Bundle;
import android.os.Handler;
import android.os.Message;
import android.widget.Toast;


public class LoadExamActivity extends Activity implements Runnable{
    ProgressDialog pd;

    Handler Finished = new Handler(){
        @Override
        public void handleMessage(Message msg){
            Toast.makeText(getApplicationContext(), "DONE!", Toast.LENGTH_SHORT).show();
            pd.dismiss();
        }
    };

    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.exam);
        Toast.makeText(this, "START!", Toast.LENGTH_SHORT).show();
        pd = new ProgressDialog(this);
        pd.show(this, "Waiting...", "Please wait five seconds...");
        Thread th = new Thread(this);
        th.start();


    }

    public void run() {
        //To change body of implemented methods use File | Settings | File Templates.
        for (int i = 0; i < 5; i++)
        {
            try
            {
                Thread.sleep(1000);
            }catch(Exception e){}
        }
        Finished.sendEmptyMessage(0);
    }


}

Nach fünf Sekunden "FERTIG" angezeigt, aber der progressdialog wird nicht entlassen, und selbst wenn ich pd.schließen() rechts unten thr pd.show (), ich werde nicht entlassen, der progressdialog und ich weiß nicht, warum dies geschieht, und es macht mich verrückt!

InformationsquelleAutor Davidoff | 2012-02-25
Schreibe einen Kommentar