我有一个显示列表视图的活动。在项目单击时,将启动第二个活动,该活动运行一个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