android - Asycntask multiple downloading fails in Listview -
i downloading mp3 files (using asynctask) , updating there progress in listview contains progress bar , textview (which shows how % downloaded). runs ok till 2% 3% crashes exception.
this code:
@override protected void onprogressupdate(integer... values) { super.onprogressupdate(values); log.v("progress ", integer.tostring(values[0])); pbar.setprogress(values[0]); tmin.settext(integer.tostring(values[0]) + "%"); }
this error:
07-04 05:50:38.990: e/androidruntime(1587): fatal exception: main 07-04 05:50:38.990: e/androidruntime(1587): java.util.concurrent.rejectedexecutionexception: task android.os.asynctask$3@40928f80 rejected java.util.concurrent.threadpoolexecutor@40b93700[running, pool size = 128, active threads = 128, queued tasks = 10, completed tasks = 1] 07-04 05:50:38.990: e/androidruntime(1587): @ java.util.concurrent.threadpoolexecutor$abortpolicy.rejectedexecution(threadpoolexecutor.java:1972) 07-04 05:50:38.990: e/androidruntime(1587): @ java.util.concurrent.threadpoolexecutor.reject(threadpoolexecutor.java:787) 07-04 05:50:38.990: e/androidruntime(1587): @ java.util.concurrent.threadpoolexecutor.execute(threadpoolexecutor.java:1308) 07-04 05:50:38.990: e/androidruntime(1587): @ android.os.asynctask.executeonexecutor(asynctask.java:552) 07-04 05:50:38.990: e/androidruntime(1587): @ android.os.asynctask.execute(asynctask.java:499) 07-04 05:50:38.990: e/androidruntime(1587): @ musicdownloader.com.musicdownloader$customadapter.getview(musicdownloader.java:209) 07-04 05:50:38.990: e/androidruntime(1587): @ android.widget.abslistview.obtainview(abslistview.java:1949) 07-04 05:50:38.990: e/androidruntime(1587): @ android.widget.listview.measureheightofchildren(listview.java:1228) 07-04 05:50:38.990: e/androidruntime(1587): @ android.widget.listview.onmeasure(listview.java:1139) 07-04 05:50:38.990: e/androidruntime(1587): @ android.view.view.measure(view.java:10835) 07-04 05:50:38.990: e/androidruntime(1587): @ android.view.viewgroup.measurechildwithmargins(viewgroup.java:4351) 07-04 05:50:38.990: e/androidruntime(1587): @ android.widget.linearlayout.measurechildbeforelayout(linearlayout.java:1284) 07-04 05:50:38.990: e/androidruntime(1587): @ android.widget.linearlayout.measurehorizontal(linearlayout.java:956) 07-04 05:50:38.990: e/androidruntime(1587): @ android.widget.linearlayout.onmeasure(linearlayout.java:521) 07-04 05:50:38.990: e/androidruntime(1587): @ android.view.view.measure(view.java:10835) 07-04 05:50:38.990: e/androidruntime(1587): @ android.view.viewgroup.measurechildwithmargins(viewgroup.java:4351) 07-04 05:50:38.990: e/androidruntime(1587): @ android.widget.framelayout.onmeasure(framelayout.java:267) 07-04 05:50:38.990: e/androidruntime(1587): @ android.view.view.measure(view.java:10835) 07-04 05:50:38.990: e/androidruntime(1587): @ android.view.viewgroup.measurechildwithmargins(viewgroup.java:4351) 07-04 05:50:38.990: e/androidruntime(1587): @ android.widget.linearlayout.measurechildbeforelayout(linearlayout.java:1284) 07-04 05:50:38.990: e/androidruntime(1587): @ android.widget.linearlayout.measurevertical(linearlayout.java:613) 07-04 05:50:38.990: e/androidruntime(1587): @ android.widget.linearlayout.onmeasure(linearlayout.java:519) 07-04 05:50:38.990: e/androidruntime(1587): @ android.view.view.measure(view.java:10835) 07-04 05:50:38.990: e/androidruntime(1587): @ android.view.viewgroup.measurechildwithmargins(viewgroup.java:4351) 07-04 05:50:38.990: e/androidruntime(1587): @ android.widget.framelayout.onmeasure(framelayout.java:267) 07-04 05:50:38.990: e/androidruntime(1587): @ android.view.view.measure(view.java:10835) 07-04 05:50:38.990: e/androidruntime(1587): @ android.view.viewgroup.measurechildwithmargins(viewgroup.java:4351) 07-04 05:50:38.990: e/androidruntime(1587): @ android.widget.linearlayout.measurechildbeforelayout(linearlayout.java:1284) 07-04 05:50:38.990: e/androidruntime(1587): @ android.widget.linearlayout.measurevertical(linearlayout.java:613) 07-04 05:50:38.990: e/androidruntime(1587): @ android.widget.linearlayout.onmeasure(linearlayout.java:519) 07-04 05:50:38.990: e/androidruntime(1587): @ android.view.view.measure(view.java:10835) 07-04 05:50:38.990: e/androidruntime(1587): @ android.view.viewgroup.measurechildwithmargins(viewgroup.java:4351) 07-04 05:50:38.990: e/androidruntime(1587): @ android.widget.framelayout.onmeasure(framelayout.java:267) 07-04 05:50:38.990: e/androidruntime(1587): @ com.android.internal.policy.impl.phonewindow$decorview.onmeasure(phonewindow.java:1889) 07-04 05:50:38.990: e/androidruntime(1587): @ android.view.view.measure(view.java:10835) 07-04 05:50:38.990: e/androidruntime(1587): @ android.view.viewroot.performtraversals(viewroot.java:944) 07-04 05:50:38.990: e/androidruntime(1587): @ android.view.viewroot.handlemessage(viewroot.java:2046) 07-04 05:50:38.990: e/androidruntime(1587): @ android.os.handler.dispatchmessage(handler.java:99) 07-04 05:50:38.990: e/androidruntime(1587): @ android.os.looper.loop(looper.java:132) 07-04 05:50:38.990: e/androidruntime(1587): @ android.app.activitythread.main(activitythread.java:4123) 07-04 05:50:38.990: e/androidruntime(1587): @ java.lang.reflect.method.invokenative(native method) 07-04 05:50:38.990: e/androidruntime(1587): @ java.lang.reflect.method.invoke(method.java:491) 07-04 05:50:38.990: e/androidruntime(1587): @ com.android.internal.os.zygoteinit$methodandargscaller.run(zygoteinit.java:841) 07-04 05:50:38.990: e/androidruntime(1587): @ com.android.internal.os.zygoteinit.main(zygoteinit.java:599) 07-04 05:50:38.990: e/androidruntime(1587): @ dalvik.system.nativestart.main(native method)
this view
public view getview(final int position, view convertview, viewgroup parent) { layoutinflater inflater = getlayoutinflater(); view row = inflater.inflate(r.layout.row, parent, false); progressbar pb = (progressbar)row.findviewbyid(r.id.progressbar_horizontal); textview t1 = (textview)row.findviewbyid(r.id.minsize); textview t2 = (textview)row.findviewbyid(r.id.filesize); t2.settypeface(tf); t1.settypeface(tf); imageview btn = (imageview)row.findviewbyid(r.id.cancelbtn); backgroundasynctask bat = new backgroundasynctask(downloadpool.get(position), pb, t1, t2); if(bat.getstatus() == asynctask.status.pending){ // asynctask has not started yet bat.execute(); } if(bat.getstatus() == asynctask.status.running){ // asynctask doing work in doinbackground() } if(bat.getstatus() == asynctask.status.finished){ // asynctask done , onpostexecute called } btn.setonclicklistener(new onclicklistener() { public void onclick(view arg0) { log.e("app", "cancelled..."); //bat.cancel(true); } }); return row; }
Comments
Post a Comment