java - fatal exception asynctask #2 AndroidRuntime -


fatal exception: asynctask #2 in application. can please tell me why , tell me need do. pretty confused right , need little help.

here code

    bundle b = getintent().getextras();     pdialog = new progressdialog(dataactivity.this);     id = b.getstring("id");     exists = b.getboolean("exists");      final string myurl = "http://xxxxxxxxxx/api.php?id="+id;     try     {         new myasynctaskgetnews().execute(myurl,"false");     }catch (exception e){log.d("d2",e.tostring());}       ib = (imagebutton)findviewbyid(r.id.imagebutton);     ib.setonclicklistener(new view.onclicklistener(){          @override         public void onclick(view v) {              try             {                 new myasynctaskgetnews().execute(myurl,"true");             }catch (exception e){log.d("d1",e.tostring());}         }     }); 

and logcat

07-25 19:47:25.393 8717-9017/com.xxxxxxxx.xxxx e/androidruntime: fatal exception: asynctask #2                                                                 process: com.xxxxxxxx.xxxx, pid: 8717                                                                 java.lang.runtimeexception: error occurred while executing doinbackground()                                                                     @ android.os.asynctask$3.done(asynctask.java:309)                                                                     @ java.util.concurrent.futuretask.finishcompletion(futuretask.java:354)                                                                     @ java.util.concurrent.futuretask.setexception(futuretask.java:223)                                                                     @ java.util.concurrent.futuretask.run(futuretask.java:242)                                                                     @ android.os.asynctask$serialexecutor$1.run(asynctask.java:234)                                                                     @ java.util.concurrent.threadpoolexecutor.runworker(threadpoolexecutor.java:1113)                                                                     @ java.util.concurrent.threadpoolexecutor$worker.run(threadpoolexecutor.java:588)                                                                     @ java.lang.thread.run(thread.java:818)                                                                  caused by: java.lang.runtimeexception: can't create handler inside thread has not called looper.prepare()                                                                     @ android.os.handler.<init>(handler.java:200)                                                                     @ android.os.handler.<init>(handler.java:114)                                                                     @ android.widget.toast$tn.<init>(toast.java:359)                                                                     @ android.widget.toast.<init>(toast.java:105)                                                                     @ android.widget.toast.maketext(toast.java:266)                                                                     @ com.xxxxxxxx.xxxx.dataactivity$myasynctaskgetnews.doinbackground(dataactivity.java:136)                                                                     @ com.xxxxxxxx.xxxx.dataactivity$myasynctaskgetnews.doinbackground(dataactivity.java:93)                                                                     @ android.os.asynctask$2.call(asynctask.java:295)                                                                     @ java.util.concurrent.futuretask.run(futuretask.java:237)                                                                     @ android.os.asynctask$serialexecutor$1.run(asynctask.java:234)                                                                      @ java.util.concurrent.threadpoolexecutor.runworker(threadpoolexecutor.java:1113)                                                                      @ java.util.concurrent.threadpoolexecutor$worker.run(threadpoolexecutor.java:588)                                                                      @   java.lang.thread.run(thread.java:818)  07-25 19:47:25.533 8717-8717/com.xxxxxxxx.xxxx i/timeline: timeline: activity_idle id: android.os.binderproxy@7d8aadd time:35310450 07-25 19:47:25.705 8717-8717/com.xxxxxxxx.xxxx e/windowmanager: android.view.windowleaked: activity com.xxxxxxxx.xxxx.dataactivity has leaked window com.android.internal.policy.phonewindow$decorview{afa2ab v.e...... r......d 0,0-1026,483} added here                                                                        @ android.view.viewrootimpl.<init>(viewrootimpl.java:372)                                                                        @ android.view.windowmanagerglobal.addview(windowmanagerglobal.java:299)                                                                        @ android.view.windowmanagerimpl.addview(windowmanagerimpl.java:86)                                                                        @ android.app.dialog.show(dialog.java:326)                                                                        @ com.xxxxxxxx.xxxx.dataactivity$myasynctaskgetnews.onpreexecute(dataactivity.java:105)                                                                        @ android.os.asynctask.executeonexecutor(asynctask.java:604)                                                                        @ android.os.asynctask.execute(asynctask.java:551)                                                                        @ com.xxxxxxxx.xxxx.dataactivity$1.onclick(dataactivity.java:87)                                                                        @ android.view.view.performclick(view.java:5280)                                                                        @ android.view.view$performclick.run(view.java:21239)                                                                        @ android.os.handler.handlecallback(handler.java:739)                                                                        @ android.os.handler.dispatchmessage(handler.java:95)                                                                        @ android.os.looper.loop(looper.java:224)                                                                        @ android.app.activitythread.main(activitythread.java:5526)                                                                        @ java.lang.reflect.method.invoke(native method)                                                                        @ com.android.internal.os.zygoteinit$methodandargscaller.run(zygoteinit.java:726)                                                                        @ com.android.internal.os.zygoteinit.main(zygoteinit.java:616) 

your async task getnews creating handler in doinbackground. can't that. if needs create handler post ui thread, should in onpreexecute. asynctask should never need that, should use onpostexecute , publishprogress/onprogress avoid need that.


Comments

Popular posts from this blog

jOOQ update returning clause with Oracle -

java - Warning equals/hashCode on @Data annotation lombok with inheritance -

java - BasicPathUsageException: Cannot join to attribute of basic type -