您的位置:首页 > 运维架构

Can't create handler inside thread that has not called Looper.prepare()的终极解决方法

2013-05-06 11:03 543 查看
异常:

05-05 11:55:10.842: E/AndroidRuntime(441): FATAL EXCEPTION: Thread-8

05-05 11:55:10.842: E/AndroidRuntime(441): java.lang.ExceptionInInitializerError

05-05 11:55:10.842: E/AndroidRuntime(441): at com.demo.myimage.utils.BitmapHelper.fetchImage(BitmapHelper.java:58)

05-05 11:55:10.842: E/AndroidRuntime(441): at com.demo.myimage.activity.fragment.HomeFragment.updateImage(HomeFragment.java:521)

05-05 11:55:10.842: E/AndroidRuntime(441): at com.demo.myimage.activity.fragment.HomeFragment.sendSuccess(HomeFragment.java:455)

05-05 11:55:10.842: E/AndroidRuntime(441): at com.demo.myimage.databases.net.ThreadHttp.processResult(ThreadHttp.java:247)

05-05 11:55:10.842: E/AndroidRuntime(441): at com.demo.myimage.databases.net.ThreadHttp.netWorking(ThreadHttp.java:147)

05-05 11:55:10.842: E/AndroidRuntime(441): at com.demo.myimage.databases.net.ThreadHttp.run(ThreadHttp.java:109)

05-05 11:55:10.842: E/AndroidRuntime(441): Caused by: java.lang.RuntimeException: Can't create handler inside thread that has not called Looper.prepare()

05-05 11:55:10.842: E/AndroidRuntime(441): at android.os.Handler.<init>(Handler.java:121)

05-05 11:55:10.842: E/AndroidRuntime(441): at android.os.AsyncTask$InternalHandler.<init>(AsyncTask.java:421)

05-05 11:55:10.842: E/AndroidRuntime(441): at android.os.AsyncTask$InternalHandler.<init>(AsyncTask.java:421)

05-05 11:55:10.842: E/AndroidRuntime(441): at android.os.AsyncTask.<clinit>(AsyncTask.java:152)

05-05 11:55:10.842: E/AndroidRuntime(441): ... 6 more

理论参考及解决方法:http://jeff-pluto-1874.iteye.com/blog/869710

终极解决方法:

在报错的方法前加Looper.prepare(); 
方法末尾加Looper.loop();
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐