2010-12-02 4 views
2

내 활동에 나는 webservices를 호출 중입니다. 따라서 웹 서비스가 결과를 반환하면 경고를 표시해야합니다. 경고가 UI 부분이기 때문에 onPostExecute() 내부에서 경고 코드를 작성해야한다고 생각합니다. 그러나 내가 그럴 때 그 오류가오고있다.웹 서비스를 호출 한 후 경고를 표시하는 방법

오류가 표시 :

12-02 09:59:08.508: ERROR/AndroidRuntime(451): Uncaught handler: thread main exiting 
due to uncaught exception 
12-02 09:59:08.528: ERROR/AndroidRuntime(451): 
android.view.WindowManager$BadTokenException: Unable to add window -- token 
[email protected] is not valid; is your 
activity running? 
12-02 09:59:08.528: ERROR/AndroidRuntime(451):  at 
android.view.ViewRoot.setView(ViewRoot.java:456) 
12-02 09:59:08.528: ERROR/AndroidRuntime(451):  at 
android.view.WindowManagerImpl.addView(WindowManagerImpl.java:177) 
12-02 09:59:08.528: ERROR/AndroidRuntime(451):  at 
android.view.WindowManagerImpl.addView(WindowManagerImpl.java:91) 
12-02 09:59:08.528: ERROR/AndroidRuntime(451):  at 
android.view.Window$LocalWindowManager.addView(Window.java:409) 
12-02 09:59:08.528: ERROR/AndroidRuntime(451):  at 
android.app.Dialog.show(Dialog.java:238) 
12-02 09:59:08.528: ERROR/AndroidRuntime(451):  at 
android.app.AlertDialog$Builder.show(AlertDialog.java:802) 
12-02 09:59:08.528: ERROR/AndroidRuntime(451):  at com.myapp.android.activities.Register$PostCodeTask.onPostExecute(Register.java:291) 
12-02 09:59:08.528: ERROR/AndroidRuntime(451):  at  com.myapp.android.activities.Register$PostCodeTask.onPostExecute(Register.java:1) 
12-02 09:59:08.528: ERROR/AndroidRuntime(451):  at 
android.os.AsyncTask.finish(AsyncTask.java:416) 
12-02 09:59:08.528: ERROR/AndroidRuntime(451):  at 
android.os.AsyncTask.access$300(AsyncTask.java:127) 
12-02 09:59:08.528: ERROR/AndroidRuntime(451):  at 
android.os.AsyncTask$InternalHandler.handleMessage(AsyncTask.java:428) 
12-02 09:59:08.528: ERROR/AndroidRuntime(451):  at 
android.os.Handler.dispatchMessage(Handler.java:99) 
12-02 09:59:08.528: ERROR/AndroidRuntime(451):  at 
android.os.Looper.loop(Looper.java:123) 
android.app.ActivityThread.main(ActivityThread.java:4203) 
12-02 09:59:08.528: ERROR/AndroidRuntime(451):  at 
java.lang.reflect.Method.invokeNative(Native Method) 
12-02 09:59:08.528: ERROR/AndroidRuntime(451):  at 
java.lang.reflect.Method.invoke(Method.java:521) 
12-02 09:59:08.528: ERROR/AndroidRuntime(451):  at 
com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:791) 
12-02 09:59:08.528: ERROR/AndroidRuntime(451):  at 
com.android.internal.os.ZygoteInit.main(ZygoteInit.java:549) 
12-02 09:59:08.528: ERROR/AndroidRuntime(451):  at dalvik.system.NativeStart.main(Native 
Method) 

사람이 내 문제를 해결하는 데 도움을 주시기 바랍니다 수 있습니다. 미리 감사드립니다 :)

+0

Mathew 의사 코드를 보여 주실 수 있습니까? –

+0

(부적절한 내용을 삭제하는 등 관리자 목적을 위해 "깃발 => 중재자주의가 필요함"을 악용하지 마십시오.) –

+0

ok ... 죄송합니다. 오해 된 표식 ... – Mathew

답변

1

UI 스레드에서 경고 코드를 실행해야합니다. 예를 들어이를 수행하는 방법은 거의 없습니다.

runOnUiThread(new Runnable() { 
    public void run() { 
     Toast.makeText(MyActivity.this, "Hello there", Toast.LENGTH_LONG).show(); 
    } 
}); 
+0

토스트가 작동합니다. 그러나 경고는 오지 않습니다. 여전히 같은 오류. – Mathew

+0

alert.show() 호출이 누락되지 않았 으면 좋겠다. 한 번 이상 나에게 일어났다. – Bostone

관련 문제