Android AsyncTask错误,请帮助我检查此错误
13:33:04.121:E/AndroidRuntime(22516):原因:android.view.ViewRootImpl$CalledFromErrorThreadException:只有创建视图层次结构的原始线程才能接触其视图 您正在Android AsyncTask错误,请帮助我检查此错误,android,Android,13:33:04.121:E/AndroidRuntime(22516):原因:android.view.ViewRootImpl$CalledFromErrorThreadException:只有创建视图层次结构的原始线程才能接触其视图 您正在doInBackground方法中更新UI。请确保doInBackground中没有ui代码。只能在onPostExecute 只要您需要访问UI,请将代码放入onPostExecute方法。这样更新您的UI 05-15 13:33:04.121: E/
doInBackground
方法中更新UI。请确保doInBackground
中没有ui代码。只能在onPostExecute
只要您需要访问UI,请将代码放入onPostExecute方法。这样更新您的UI
05-15 13:33:04.121: E/AndroidRuntime(22516): FATAL EXCEPTION: pool-7-thread-5
05-15 13:33:04.121: E/AndroidRuntime(22516): Process: my.com.newpagesv2, PID: 22516
05-15 13:33:04.121: E/AndroidRuntime(22516): java.lang.RuntimeException: An error occured while executing doInBackground()
05-15 13:33:04.121: E/AndroidRuntime(22516): at android.os.AsyncTask$3.done(AsyncTask.java:300)
05-15 13:33:04.121: E/AndroidRuntime(22516): at java.util.concurrent.FutureTask.finishCompletion(FutureTask.java:355)
05-15 13:33:04.121: E/AndroidRuntime(22516): at java.util.concurrent.FutureTask.setException(FutureTask.java:222)
05-15 13:33:04.121: E/AndroidRuntime(22516): at java.util.concurrent.FutureTask.run(FutureTask.java:242)
05-15 13:33:04.121: E/AndroidRuntime(22516): at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1112)
05-15 13:33:04.121: E/AndroidRuntime(22516): at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:587)
05-15 13:33:04.121: E/AndroidRuntime(22516): at java.lang.Thread.run(Thread.java:841)
05-15 13:33:04.121: E/AndroidRuntime(22516): Caused by: android.view.ViewRootImpl$CalledFromWrongThreadException: Only the original thread that created a view hierarchy can touch its views.
05-15 13:33:04.121: E/AndroidRuntime(22516): at android.view.ViewRootImpl.checkThread(ViewRootImpl.java:7081)
05-15 13:33:04.121: E/AndroidRuntime(22516): at android.view.ViewRootImpl.invalidateChildInParent(ViewRootImpl.java:1107)
05-15 13:33:04.121: E/AndroidRuntime(22516): at android.view.ViewGroup.invalidateChild(ViewGroup.java:4529)
05-15 13:33:04.121: E/AndroidRuntime(22516): at android.view.View.invalidate(View.java:11809)
05-15 13:33:04.121: E/AndroidRuntime(22516): at android.view.View.invalidate(View.java:11750)
05-15 13:33:04.121: E/AndroidRuntime(22516): at android.widget.ImageView.invalidateDrawable(ImageView.java:211)
05-15 13:33:04.121: E/AndroidRuntime(22516): at android.graphics.drawable.Drawable.invalidateSelf(Drawable.java:393)
05-15 13:33:04.121: E/AndroidRuntime(22516): at android.graphics.drawable.Drawable.setVisible(Drawable.java:624)
05-15 13:33:04.121: E/AndroidRuntime(22516): at android.widget.ImageView.onDetachedFromWindow(ImageView.java:1265)
05-15 13:33:04.121: E/AndroidRuntime(22516): at android.view.View.dispatchDetachedFromWindow(View.java:13557)
05-15 13:33:04.121: E/AndroidRuntime(22516): at android.view.ViewGroup.dispatchDetachedFromWindow(ViewGroup.java:2791)
05-15 13:33:04.121: E/AndroidRuntime(22516): at android.view.ViewGroup.removeAllViewsInLayout(ViewGroup.java:4236)
05-15 13:33:04.121: E/AndroidRuntime(22516): at android.widget.AbsListView.resetList(AbsListView.java:2388)
05-15 13:33:04.121: E/AndroidRuntime(22516): at android.widget.ListView.resetList(ListView.java:527)
05-15 13:33:04.121: E/AndroidRuntime(22516): at android.widget.ListView.setAdapter(ListView.java:468)
05-15 13:33:04.121: E/AndroidRuntime(22516): at my.com.newpagesv2.BrowseByAlp$getJsonMoreAlpData.doInBackground(BrowseByAlp.java:356)
05-15 13:33:04.121: E/AndroidRuntime(22516): at my.com.newpagesv2.BrowseByAlp$getJsonMoreAlpData.doInBackground(BrowseByAlp.java:1)
05-15 13:33:04.121: E/AndroidRuntime(22516): at android.os.AsyncTask$2.call(AsyncTask.java:288)
05-15 13:33:04.121: E/AndroidRuntime(22516): at java.util.concurrent.FutureTask.run(FutureTask.java:237)
05-15 13:33:04.121: E/AndroidRuntime(22516): ... 3 more
我希望它能帮助你 请发布您的asynctask代码Oh vikas给出了相同的答案当然..DoinBackground中的listview小部件谢谢,问题已经解决了谢谢,问题已经解决了
yourActivity.runOnUiThread(new Runnable() {
@Override
public void run() {
// update your ui here
}
});
runOnUiThread(new Runnable() {
@Override
public void run() {
// update your ui here
}
});