android - NullPointerException inside AbsListView -


i have amazing exception in listview outside of appication. i've read can caused mine adapter, returns null. adapter checks it:

public view getview(int position, view convertview, viewgroup parent) {     view view = convertview;     smsholder v;     if(view == null) {         if(mainactivity.debug) {             view = linflater.inflate(r.layout.sms_list_item_debug, parent, false);         } else {             view = linflater.inflate(r.layout.sms_list_item, parent, false);         }     }      v = (smsholder) view.gettag(r.id.screenholder);      sms sms = getsms(position);      v.date.settext(zendate.format(zendate.format_rus_dm, sms.time_stamp * 1000));     v.sender.settext(sms.sender + " ");     v.text.settext(sms.text + " ");     v.selector.setoncheckedchangelistener(null);     v.selector.setchecked(checked.contains(sms._id));     v.status.settag(sms);     v.selector.settag(position);      boolean smsparsed = sms.parsed != null             && sms.checkflag(sms.flag_sender_ok)             && sms.checkflag(sms.flag_format_ok)             && sms.checkflag(sms.flag_account_ok);     if(smsparsed) {         v.status_bg.setvisibility(view.gone);     } else {         v.status_bg.setvisibility(view.visible);         if (sms.checkflag(sms.flag_format_ok)) {             v.status.setenabled(false);         } else {             v.status.setenabled(true);         }         v.status.settext(getsmsstatus(sms));         v.status.seteventlistener(new contextmenu.eventlistener() {             @override             public void onitemselected(contextmenu v, int index) {                 sms sms = (sms) v.gettag();                 if (index == 0) {                     intent = new intent(intent.action_send);                     i.settype("message/rfc822");                     i.putextra(intent.extra_email  , new string[]{"support@zenmoney.ru", ""});                     string subj = getsmsstatus(sms) + "["+ zenmoney.getversionname()+"]";                     i.putextra(intent.extra_subject, subj);                     string text = context.getstring(r.string.sms_mail);                     i.putextra(intent.extra_text, string.format(text, sms.sender, sms.text));                     try {                         = intent.createchooser(i, context.getstring(r.string.sms_app_choose));                         i.addflags(intent.flag_activity_new_task);                         context.startactivity(i);                     } catch (android.content.activitynotfoundexception ex) {                         toast.maketext(context, context.getstring(r.string.no_apps), toast.length_short).show();                     }                 } else if (mainactivity.debug && index == 1) {                     intent = new intent(context, smstestactivity.class);                     i.putextra("sms_sender", sms.sender);                     i.putextra("sms_body", sms.text);                     context.startactivity(i);                 }             }              @override             public void onclick(view view) {                 //to change body of implemented methods use file | settings | file templates.             }          });      }     v.selector.setoncheckedchangelistener(new compoundbutton.oncheckedchangelistener() {          @override         public void oncheckedchanged(compoundbutton v, boolean ischecked) {              // todo auto-generated method stub             integer position = (integer) v.gettag();             sms sms = smslist.get(position);             long id = sms._id;             if (!ischecked) {                 checked.remove(id);             } else if (!checked.contains(id)) {                 checked.add(id);             }             if (checked.size() > 0) {                 smsscreen.showbottomcab();             } else {                 smsscreen.hidebottomcab();             }         }     });     if (view == null) {         zenmoney.uncaughtexception(new nullpointerexception());     }     return view; } 

here error log:

error/androidruntime(4393): fatal exception: main     java.lang.nullpointerexception     @ android.widget.abslistview.obtainview(abslistview.java:1482)     @ android.widget.listview.makeandaddview(listview.java:1786)     @ android.widget.listview.filldown(listview.java:705)     @ android.widget.listview.fillfromtop(listview.java:762)     @ android.widget.listview.layoutchildren(listview.java:1639)     @ android.widget.abslistview.onlayout(abslistview.java:1310)     @ android.view.view.layout(view.java:7224)     @ android.support.v4.view.viewpager.onlayout(viewpager.java:1528)     @ android.view.view.layout(view.java:7224)     @ android.widget.linearlayout.setchildframe(linearlayout.java:1290)     @ android.widget.linearlayout.layoutvertical(linearlayout.java:1166)     @ android.widget.linearlayout.onlayout(linearlayout.java:1083)     @ android.view.view.layout(view.java:7224)     @ android.widget.linearlayout.setchildframe(linearlayout.java:1290)     @ android.widget.linearlayout.layoutvertical(linearlayout.java:1166)     @ android.widget.linearlayout.onlayout(linearlayout.java:1083)     @ android.view.view.layout(view.java:7224)     @ android.widget.relativelayout.onlayout(relativelayout.java:943)     @ android.view.view.layout(view.java:7224)     @ android.widget.framelayout.onlayout(framelayout.java:369)     @ android.view.view.layout(view.java:7224)     @ android.widget.linearlayout.setchildframe(linearlayout.java:1290)     @ android.widget.linearlayout.layouthorizontal(linearlayout.java:1279)     @ android.widget.linearlayout.onlayout(linearlayout.java:1085)     @ android.view.view.layout(view.java:7224)     @ android.widget.framelayout.onlayout(framelayout.java:369)     @ android.view.view.layout(view.java:7224)     @ com.slidingmenu.lib.customviewabove.onlayout(customviewabove.java:426)     @ android.view.view.layout(view.java:7224)     @ android.widget.relativelayout.onlayout(relativelayout.java:943)     @ android.view.view.layout(view.java:7224)     @ android.widget.framelayout.onlayout(framelayout.java:369)     @ android.view.view.layout(view.java:7224)     @ android.view.viewroot.performtraversals(viewroot.java:1181)     @ android.view.viewroot.handlemessage(viewroot.java:1913)     @ android.os.handler.dispatchmessage(handler.java:130)     @ android.os.looper.loop(sourcefile:351)     @ android.app.activitythread.main(activitythread.java:3820)     @ java.lang.reflect.method.invokenative(native method)     @ java.lang.reflect.method.invoke(method.java:538)     @ com.android.internal.os.zygoteinit$methodandargscaller.run(zygoteinit.java:969)     @ com.android.internal.os.zygoteinit.main(zygoteinit.java:727)     @ dalvik.system.nativestart.main(native method) 

question is: why error occur , how can avoid it?

updated: problem solved. got confused in adapters , used one. sorry :)

this happens because check whether pointer null , if throw nullpointerexception anyway. need sensible case pointer null instead of throwing nullpointerexception. otherwise might not check.


Comments

Popular posts from this blog

.htaccess - First slash is removed after domain when entering a webpage in the browser -

Automatically create pages in phpfox -

c# - Farseer ContactListener is not working -