2012-06-18 30 views
2
06-18 16:50:24.733: W/dalvikvm(1086): threadid=11: thread exiting with uncaught exception (group=0x40015560) 
06-18 16:50:24.815: E/AndroidRuntime(1086): FATAL EXCEPTION: AsyncTask #3 
06-18 16:50:24.815: E/AndroidRuntime(1086): java.lang.RuntimeException: An error occured while executing doInBackground() 
06-18 16:50:24.815: E/AndroidRuntime(1086):  at android.os.AsyncTask$3.done(AsyncTask.java:200) 
06-18 16:50:24.815: E/AndroidRuntime(1086):  at java.util.concurrent.FutureTask$Sync.innerSetException(FutureTask.java:274) 
06-18 16:50:24.815: E/AndroidRuntime(1086):  at java.util.concurrent.FutureTask.setException(FutureTask.java:125) 
06-18 16:50:24.815: E/AndroidRuntime(1086):  at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:308) 
06-18 16:50:24.815: E/AndroidRuntime(1086):  at java.util.concurrent.FutureTask.run(FutureTask.java:138) 
06-18 16:50:24.815: E/AndroidRuntime(1086):  at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1088) 
06-18 16:50:24.815: E/AndroidRuntime(1086):  at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:581) 
06-18 16:50:24.815: E/AndroidRuntime(1086):  at java.lang.Thread.run(Thread.java:1019) 
06-18 16:50:24.815: E/AndroidRuntime(1086): Caused by: android.view.ViewRoot$CalledFromWrongThreadException: Only the original thread that created a view hierarchy can touch its views. 
06-18 16:50:24.815: E/AndroidRuntime(1086):  at android.view.ViewRoot.checkThread(ViewRoot.java:2932) 
06-18 16:50:24.815: E/AndroidRuntime(1086):  at android.view.ViewRoot.requestLayout(ViewRoot.java:629) 
06-18 16:50:24.815: E/AndroidRuntime(1086):  at android.view.View.requestLayout(View.java:8267) 
06-18 16:50:24.815: E/AndroidRuntime(1086):  at android.view.View.requestLayout(View.java:8267) 
06-18 16:50:24.815: E/AndroidRuntime(1086):  at android.view.View.requestLayout(View.java:8267) 
06-18 16:50:24.815: E/AndroidRuntime(1086):  at android.view.View.requestLayout(View.java:8267) 
06-18 16:50:24.815: E/AndroidRuntime(1086):  at android.widget.RelativeLayout.requestLayout(RelativeLayout.java:257) 
06-18 16:50:24.815: E/AndroidRuntime(1086):  at android.view.View.requestLayout(View.java:8267) 
06-18 16:50:24.815: E/AndroidRuntime(1086):  at android.widget.AbsListView.requestLayout(AbsListView.java:1102) 
06-18 16:50:24.815: E/AndroidRuntime(1086):  at android.view.View.setFlags(View.java:4641) 
06-18 16:50:24.815: E/AndroidRuntime(1086):  at android.view.View.setVisibility(View.java:3116) 
06-18 16:50:24.815: E/AndroidRuntime(1086):  at com.mythrii.tripview.BusFrom$DownloadImageTask.doInBackground(BusFrom.java:274) 
06-18 16:50:24.815: E/AndroidRuntime(1086):  at com.mythrii.tripview.BusFrom$DownloadImageTask.doInBackground(BusFrom.java:1) 
06-18 16:50:24.815: E/AndroidRuntime(1086):  at android.os.AsyncTask$2.call(AsyncTask.java:185) 
06-18 16:50:24.815: E/AndroidRuntime(1086):  at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:306) 
06-18 16:50:24.815: E/AndroidRuntime(1086):  ... 4 more 
06-18 16:50:30.571: E/WindowManager(1086): Activity com.mythrii.tripview.BusFrom has leaked window [email protected] that was originally added here 
06-18 16:50:30.571: E/WindowManager(1086): android.view.WindowLeaked: Activity com.mythrii.tripview.BusFrom has leaked window [email protected] that was originally added here 
06-18 16:50:30.571: E/WindowManager(1086): at android.view.ViewRoot.<init>(ViewRoot.java:258) 
06-18 16:50:30.571: E/WindowManager(1086): at android.view.WindowManagerImpl.addView(WindowManagerImpl.java:148) 
06-18 16:50:30.571: E/WindowManager(1086): at android.view.WindowManagerImpl.addView(WindowManagerImpl.java:91) 
06-18 16:50:30.571: E/WindowManager(1086): at android.view.Window$LocalWindowManager.addView(Window.java:424) 
06-18 16:50:30.571: E/WindowManager(1086): at android.app.Dialog.show(Dialog.java:241) 
06-18 16:50:30.571: E/WindowManager(1086): at android.app.ProgressDialog.show(ProgressDialog.java:107) 
06-18 16:50:30.571: E/WindowManager(1086): at android.app.ProgressDialog.show(ProgressDialog.java:90) 
06-18 16:50:30.571: E/WindowManager(1086): at android.app.ProgressDialog.show(ProgressDialog.java:85) 
06-18 16:50:30.571: E/WindowManager(1086): at com.mythrii.tripview.BusFrom.onCreate(BusFrom.java:109) 
06-18 16:50:30.571: E/WindowManager(1086): at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1047) 
06-18 16:50:30.571: E/WindowManager(1086): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1611) 
06-18 16:50:30.571: E/WindowManager(1086): at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:1663) 
06-18 16:50:30.571: E/WindowManager(1086): at android.app.ActivityThread.access$1500(ActivityThread.java:117) 
06-18 16:50:30.571: E/WindowManager(1086): at android.app.ActivityThread$H.handleMessage(ActivityThread.java:931) 
06-18 16:50:30.571: E/WindowManager(1086): at android.os.Handler.dispatchMessage(Handler.java:99) 
06-18 16:50:30.571: E/WindowManager(1086): at android.os.Looper.loop(Looper.java:130) 
06-18 16:50:30.571: E/WindowManager(1086): at android.app.ActivityThread.main(ActivityThread.java:3683) 
06-18 16:50:30.571: E/WindowManager(1086): at java.lang.reflect.Method.invokeNative(Native Method) 
06-18 16:50:30.571: E/WindowManager(1086): at java.lang.reflect.Method.invoke(Method.java:507) 
06-18 16:50:30.571: E/WindowManager(1086): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:839) 
06-18 16:50:30.571: E/WindowManager(1086): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:597) 
06-18 16:50:30.571: E/WindowManager(1086): at dalvik.system.NativeStart.main(Native Method) 

回答

11

我想你使用一些東西一樣
Toast.makeText(this, "Text", Toast.LENGTH_SHORT).show();
或使用doInBackground()方法內查看。

如果您想使用那些在onPostExecute()中使用它。

+0

嘿非常感謝它的工作 – raju

+0

很酷..沒問題..我很高興你解決了你的問題..如果我的回答可以幫助你,請將它標記爲答案。 。謝謝 – GoCrazy

3

只有創建視圖層次可以觸摸其觀點原來的線程原來的線程

不能在UI從背景變化線。

UI在主線程上運行,您的ASyncTask運行在它自己的線程上。

如果你想通知UI從另一個線程的變化,你將不得不使用處理程序。

看看:

https://stackoverflow.com/a/5185155/413127

runOnUiThread方法

1

你必須移動,更新用戶界面到主線程後臺任務的一部分。

3

您正在修改Views的方法doInBackground在另一個線程上運行。在android中這是禁止的,而應該只修改onPostExecute方法的視圖。

+0

感謝烏拉圭回合答覆如何處理doInBackgroound方法我已經放在try catch塊異常,但它終止應用程序 – raju

+0

@raju沒有人可以幫助你,如果你不張貼一些代碼。基本的想法是,你不能從'doInBackground'(如textView.setText)修改視圖。完成任務後,doInBackground方法返回方法'onPostExecute'將被執行,並且您應該使用新數據修改視圖。 – Luksprog

+0

非常感謝你我的解決方案從你的回覆中爲我工作 – raju

1

此線錯誤

E/AndroidRuntime(1086): Caused by:Only the original thread that created 
a view hierarchy can touch its views". 

可能是你應該嘗試並顯示Asyntack doInBackGround()方法。

1

你要的部分到UI線程,或者您可以使用runOnUIThread方法,可從上下文

-1

這樣做:而不是使用asynktask使用線程。 這裏有雲:

thread = new Thread() 
{ 
    @Override 
    public void run() 
    { 
    try 
    { 
     synchronized(this) 
     { 
    runOnUiThread(new Runnable() 
    { 
      @Override 
      public void run() 
      {       
      your code goes here 
      } 
     });     
    } 
    } 
    catch(Exception e) 
    { 
    e.printStackTrace(); 
    }   
}; 
}; 
thread.start();  
相關問題