메인 액티비티에서 날씨정보를 가지고 오는 액티비티로 이동 할때 시간이 많이 걸리니까 프로그래스 다이얼로그를 사용 하여
사용자가 지루하지 않게 하려고 하는데요
버튼을 눌렀을때
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)
이렇게 뜨고 있구요
도통 방법을 모르겠습니다.
해결방법을 가르쳐 주실 고수분을 찾습니다.(자세하게..)
도와 주세요 ㅠㅠ