제목 그대로입니다.
ProgressDialog 나온다음에 AlertDialog 표시하고 싶은데요.
ProgressDialog
"업로드 중입니다..."
ProgressDialog dismiss후
AlertDialog
"업로드 성공입니다"
ProgressDialog 에 스레드안에 AlertDialog 를 호출하는 메소드 호출하면.. 다음과 같은 에러가 나요.. ㅠ
해결책 아시는 분.. 바쁘시겠지만 답글 부탁드립니다.
^---------------^
--------------------------------------------------------------------------------------------------
08-03 17:14:55.810: ERROR/AndroidRuntime(5317): Uncaught handler: thread Thread-9 exiting due to uncaught exception
08-03 17:14:55.854: ERROR/AndroidRuntime(5317): java.lang.RuntimeException: Can't create handler inside thread that has not called Looper.prepare()
08-03 17:14:55.854: ERROR/AndroidRuntime(5317): at android.os.Handler.<init>(Handler.java:121)
08-03 17:14:55.854: ERROR/AndroidRuntime(5317): at android.app.Dialog.<init>(Dialog.java:105)
08-03 17:14:55.854: ERROR/AndroidRuntime(5317): at android.app.AlertDialog.<init>(AlertDialog.java:63)
08-03 17:14:55.854: ERROR/AndroidRuntime(5317): at android.app.AlertDialog.<init>(AlertDialog.java:59)
08-03 17:14:55.854: ERROR/AndroidRuntime(5317): at android.app.AlertDialog$Builder.create(AlertDialog.java:786)
08-03 17:14:55.854: ERROR/AndroidRuntime(5317): at com.nate.qsmr.MR.dialog(MR.java:141)
08-03 17:14:55.854: ERROR/AndroidRuntime(5317): at com.nate.qsmr.MR.doProcess(MR.java:263)
08-03 17:14:55.854: ERROR/AndroidRuntime(5317): at com.nate.qsmr.MR.access$0(MR.java:248)
08-03 17:14:55.854: ERROR/AndroidRuntime(5317): at com.nate.qsmr.MR$2.run(MR.java:242)
08-03 17:14:55.854: ERROR/AndroidRuntime(5317): at java.lang.Thread.run(Thread.java:1096)
도움말 등을 찾으시면서 UI 스레드와 background 스레드를 자꾸 구분하는 문장이 나온다면 그 때문입니다.
ProgressDialog의 스레드말고 UI 스레드로 올라오는 부분이 있으면 그쪽으로 옮기시구요.
굳이 그 위치에서 쓰셔야 한다면 handler를 하나 전역으로 정의해서 handler.post 형식으로 쓰시면 됩니다.