我有一個顯示列表視圖的活動。在項目單擊時,將啓動第二個活動,該活動運行一個AsyncTask,根據哪個項目被點擊來獲取遠程URL,解析結果,然後將這些結果顯示到另一個列表視圖中。異步任務正在運行時,我有一個「加載」視圖,只顯示圖像和文本。問題是,如果我啓動運行異步任務的活動,然後按回來並啓動所述活動的另一個實例,則會關閉部隊。Android:在asynctask中處理後退按鈕
我已經試過
private class getlist extends AsyncTask implements OnDismissListener{ ... @Override public void onDismiss(DialogInterface arg0) { this.cancel(true); } }
但問題仍然存在。
我也把
if(!isCancelled()){ setContentView(R.layout.list); ... etc. }
到我onPostExecute電話,但無論是這不是防止視圖被切換,或者問題是別的東西。
logcat中顯示「意外的簡歷,而已經恢復..得到的RemoteException發送SETACTIVE(假)的通知」 然後遠一點的日誌中了,「java.net.SocketTimeoutException:套接字未連接」
如何我能解決這個問題嗎?
更新:
E/AndroidRuntime(19379): Uncaught handler: thread AsyncTask #2 exiting due to uncaught exception E/AndroidRuntime(19379): java.lang.RuntimeException: An error occured while executing doInBackground() E/AndroidRuntime(19379): at android.os.AsyncTask$3.done(AsyncTask.java:200) E/AndroidRuntime(19379): at java.util.concurrent.FutureTask$Sync.innerSetException(FutureTask.java:273) E/AndroidRuntime(19379): at java.util.concurrent.FutureTask.setException(FutureTask.java:124) E/AndroidRuntime(19379): at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:307) E/AndroidRuntime(19379): at java.util.concurrent.FutureTask.run(FutureTask.java:137) E/AndroidRuntime(19379): at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1068) E/AndroidRuntime(19379): at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:561) E/AndroidRuntime(19379): at java.lang.Thread.run(Thread.java:1096) E/AndroidRuntime(19379): Caused by: java.lang.NullPointerException E/AndroidRuntime(19379): at com.metatroid.android.swim.ThreadViewer.getPosts(ThreadViewer.java:153) E/AndroidRuntime(19379): at com.metatroid.android.swim.ThreadViewer$getlist.doInBackground(ThreadViewer.java:70) E/AndroidRuntime(19379): at com.metatroid.android.swim.ThreadViewer$getlist.doInBackground(ThreadViewer.java:1) E/AndroidRuntime(19379): at android.os.AsyncTask$2.call(AsyncTask.java:185) E/AndroidRuntime(19379): at java.util.concurrent.FutureTask$Sync.innerRun
您的錯誤,如果您正在閱讀LogCat,與此無關,而是嘗試下載數據時出現網絡問題。 – CommonsWare 2011-03-15 21:57:15
@CommonsWare - 我已更新與我相信是正確的跟蹤的問題 – aperture 2011-03-15 22:07:38