메인 액티비티에서 날씨정보를 가지고 오는 액티비티로 이동 할때 시간이 많이 걸리니까 프로그래스 다이얼로그를 사용 하여
사용자가 지루하지 않게 하려고 하는데요
버튼을 눌렀을때

 intent = new Intent(Main.this, WeatherList.class);
            intent.putExtra("point", "main");
            intent.putExtra("title", "날씨");
            dialog = ProgressDialog.show(Main.this, "",
                    "날씨를 불러 오고 있습니다........", true);

이렇게 다음 액티로 넘기고 프로그래스 다이얼로그를 실행 시키구요
날씨 액티비티에서 받고나서 다시 메인으로 갈때

 setResult(RESULT_OK, intent);

이렇게 값을 넘겨서 프로그래스 다이얼로그가 종료가 되게 했습니다.

public void onActivityResult(int requestCode, int resultCode, Intent data) {
        super.onActivityResult(requestCode, resultCode, data);
        if (resultCode == Activity.RESULT_OK) {
            dialog.dismiss();
        }
    }

이건 받는 소스구요...

그런데 문제가 액티비티 이동할때에 프로그래스 다이얼 로그가 동작을 하지 않습니다.(원으로 된 다이얼로그가 돌지가 않아요...)

그래서 스레드와 핸들러로 해결 하려고 했는데

이게 계속 애러가 뜨는데요

    class Th implements Runnable {
        @Override
        public void run() {
            // TODO Auto-generated method stub
           
            mHandler.sendMessage(mHandler.obtainMessage());//헨들러 메시지 받는다
            
        }
    }

스레드 소스는 다음과 같고...

Th thread = new Th();   //스레드 잡기
        Thread tt = new Thread(thread);
        tt.start(); //스레드 시작

이렇게 받아 와서

mHandler = new Handler() {  //핸들러 선언
            public void handleMessage(Message msg) {    //헨들러 메시지 전송
                 dialog = ProgressDialog.show(Main.this, "",
                    "날씨를 불러 오고 있습니다........", true);
            }
        };

이렇게 쓰고 있습니다.
로그켓 애러는

10-12 04:57:54.790: ERROR/AndroidRuntime(286):     at co.kr.Leaderse.Main$Th.run(Main.java:446)
10-12 05:06:12.271: ERROR/AndroidRuntime(325): Uncaught handler: thread Thread-8 exiting due to uncaught exception
10-12 05:06:12.271: ERROR/AndroidRuntime(325): java.lang.NullPointerException
10-12 05:06:12.271: ERROR/AndroidRuntime(325):     at co.kr.Leaderse.Main$Th.run(Main.java:445)
10-12 05:06:12.271: ERROR/AndroidRuntime(325):     at java.lang.Thread.run(Thread.java:1096)


이렇게 뜨고 있구요

도통 방법을 모르겠습니다.

해결방법을 가르쳐 주실 고수분을 찾습니다.(자세하게..)

도와 주세요 ㅠㅠ