android - Having null pointer exception when scrolling gridview towards bottom -


i making android app in made custom gallery. when show image in grid works fine when scroll gridview down getting null pointer exception using holderview class , not working on activity. working on fragments

here getview function

   public view getview(int position, view convertview, viewgroup parent) {             viewholder holder;             view rootview=convertview;             if (convertview == null) {                 holder = new viewholder();                 rootview = minflater.inflate(                         r.layout.gallery_item, null);                 holder.imageview = (imageview) rootview.findviewbyid(r.id.thumbimage);                  rootview.settag(holder);             }             else {                 holder = (viewholder) rootview.gettag();             }             holder.imageview.setid(position);              holder.imageview.setonclicklistener(new view.onclicklistener() {                  public void onclick(view v) {                     // todo auto-generated method stub                     int id = v.getid();                     intent intent = new intent();                     intent.setaction(intent.action_view);                     intent.setdataandtype(uri.parse("file://" + arrpath[id]), "image/*");                     startactivity(intent);                 }             });              holder.imageview.setimagebitmap(thumbnails[position]);             bytearrayoutputstream baos = new bytearrayoutputstream();             thumbnails[position].compress(bitmap.compressformat.jpeg, 100, baos);        //here error null pointer exception             byte[] b = baos.tobytearray();              string encodedimage = base64.encodetostring(b, base64.default);              holder.id = position;             return rootview;         }           }     static class viewholder {         imageview imageview;         static int id;     } 

here logcat

 java.lang.nullpointerexception             @ com.tabdemo.tab1fragment$imageadapter.getview(tab1fragment.java:117)             @ android.widget.abslistview.obtainview(abslistview.java:2186)             @ android.widget.gridview.makeandaddview(gridview.java:1341)             @ android.widget.gridview.makerow(gridview.java:341)             @ android.widget.gridview.filldown(gridview.java:283)             @ android.widget.gridview.fillgap(gridview.java:243)             @ android.widget.abslistview.trackmotionscroll(abslistview.java:5257)             @ android.widget.abslistview.scrollifneeded(abslistview.java:3179)             @ android.widget.abslistview.ontouchevent(abslistview.java:3506)             @ android.view.view.dispatchtouchevent(view.java:7263)             @ android.view.viewgroup.dispatchtransformedtouchevent(viewgroup.java:2235)             @ android.view.viewgroup.dispatchtouchevent(viewgroup.java:1932)             @ android.view.viewgroup.dispatchtransformedtouchevent(viewgroup.java:2241)             @ android.view.viewgroup.dispatchtouchevent(viewgroup.java:1946)             @ android.view.viewgroup.dispatchtransformedtouchevent(viewgroup.java:2241)             @ android.view.viewgroup.dispatchtouchevent(viewgroup.java:1946)             @ android.view.viewgroup.dispatchtransformedtouchevent(viewgroup.java:2241)             @ android.view.viewgroup.dispatchtouchevent(viewgroup.java:1946)             @ android.view.viewgroup.dispatchtransformedtouchevent(viewgroup.java:2241)             @ android.view.viewgroup.dispatchtouchevent(viewgroup.java:1946)             @ android.view.viewgroup.dispatchtransformedtouchevent(viewgroup.java:2241)             @ android.view.viewgroup.dispatchtouchevent(viewgroup.java:1946)             @ android.view.viewgroup.dispatchtransformedtouchevent(viewgroup.java:2241)             @ android.view.viewgroup.dispatchtouchevent(viewgroup.java:1946)             @ android.view.viewgroup.dispatchtransformedtouchevent(viewgroup.java:2241)             @ android.view.viewgroup.dispatchtouchevent(viewgroup.java:1946)             @ com.android.internal.policy.impl.phonewindow$decorview.superdispatchtouchevent(phonewindow.java:1977)             @ com.android.internal.policy.impl.phonewindow.superdispatchtouchevent(phonewindow.java:1427)             @ android.app.activity.dispatchtouchevent(activity.java:2428)             @ android.support.v7.internal.view.windowcallbackwrapper.dispatchtouchevent(windowcallbackwrapper.java:59)             @ com.android.internal.policy.impl.phonewindow$decorview.dispatchtouchevent(phonewindow.java:1925)             @ android.view.view.dispatchpointerevent(view.java:7443)             @ android.view.viewrootimpl.deliverpointerevent(viewrootimpl.java:3603)             @ android.view.viewrootimpl.deliverinputevent(viewrootimpl.java:3531)             @ android.view.viewrootimpl.doprocessinputevents(viewrootimpl.java:4783)             @ android.view.viewrootimpl.enqueueinputevent(viewrootimpl.java:4743)             @ android.view.viewrootimpl$windowinputeventreceiver.oninputevent(viewrootimpl.java:4895)             @ android.view.inputeventreceiver.dispatchinputevent(inputeventreceiver.java:179)             @ android.view.inputeventreceiver.nativeconsumebatchedinputevents(native method)             @ android.view.inputeventreceiver.consumebatchedinputevents(inputeventreceiver.java:171)             @ android.view.viewrootimpl.doconsumebatchedinput(viewrootimpl.java:4863)             @ android.view.viewrootimpl$consumebatchedinputrunnable.run(viewrootimpl.java:4917)             @ android.view.choreographer$callbackrecord.run(choreographer.java:776)             @ android.view.choreographer.docallbacks(choreographer.java:579)             @ android.view.choreographer.doframe(choreographer.java:546)             @ android.view.choreographer$framedisplayeventreceiver.run(choreographer.java:762)             @ android.os.handler.handlecallback(handler.java:800)             @ android.os.handler.dispatchmessage(handler.java:100)             @ android.os.looper.loop(looper.java:194)             @ android.app.activitythread.main(activitythread.java:5371)             @ java.lang.reflect.method.invokenative(native method)             @ java.lang.reflect.method.invoke(method.java:525)             @ com.android.internal.os.zygoteinit$methodandargscaller.run(zygoteinit.java:833)             @ com.android.internal.os.zygoteinit.main(zygoteinit.java:600)             @ dalvik.system.nativestart.main(native method) 

make sure have enough thumbnails in array. if crashes here:

thumbnails[position].compress(bitmap.compressformat.jpeg, 100, baos);        //here error null pointer exception 

that means thumbnails[position] null. make sure array not empty , has values each item position.


Comments

Popular posts from this blog

toolbar - How to add link to user registration inside toobar in admin joomla 3 custom component -

linux - disk space limitation when creating war file -