ProgressDialog.rejeter() ne fonctionne pas

Veuillez consulter l'exemple de code suivant. Toast messages, mais la progressdialog n'est jamais caché. Pourquoi?

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);
    }


}

Après cinq secondes, le "FAIT" le message est affiché mais la progressdialog n'est pas rejeté, et même si j'ai mis pd.rejeter() juste en dessous de thr pd.show() j'ai l'habitude de rejeter la progressdialog soit et je ne sais pas pourquoi ce qui se passe et ça me rend fou!

OriginalL'auteur Davidoff | 2012-02-25