android - assign null to a class static variable cause NullPointerException -


public class classholer {     public static list<car> carsholder; } 

in activity used this.

@override public void onclick(view v) {     classholer.carsholder = null; } 

in app got java.lang.nullpointerexception on classholer.carsholder = null; how ?

logcat:

java.lang.nullpointerexception com.souche.fengche.ui.activity.workbench.customer.addcustomeractivity.void onclick(android.view.view)(sourcefile:282) android.view.view.performclick(view.java:4472) android.view.view$performclick.run(view.java:18795) android.os.handler.handlecallback(handler.java:808) android.os.handler.dispatchmessage(handler.java:103) android.os.looper.loop(looper.java:193) android.app.activitythread.main(activitythread.java:5332) java.lang.reflect.method.invokenative(native method) java.lang.reflect.method.invoke(method.java:515) com.android.internal.os.zygoteinit$methodandargscaller.run(zygoteinit.java:844) com.android.internal.os.zygoteinit.main(zygoteinit.java:660) dalvik.system.nativestart.main(native method) 

source file:

  @override     public void onclick(view v) {         inputmethodmanager imm = (inputmethodmanager) getsystemservice(context.input_method_service);         imm.hidesoftinputfromwindow(name.getwindowtoken(), 0);          switch (v.getid()) {             case r.id.gentle_man:                 check(gentlemanradio);                 uncheck(ladyradio);                  break;             case r.id.lady:                 check(ladyradio);                 uncheck(gentlemanradio);                  break;             case r.id.source:                 getsources();                 mpicker.showatlocation(parent, gravity.center, 0, 0);                 break;             case r.id.customer_requirement_remark:                 intent intent = new intent(this, addrequireremarkactivity.class);                 intent.putextra(constant.user_id, userid);                 startactivityforresult(intent, add_remark);                  break;             case r.id.yes:                 check(yesradio);                 uncheck(noradio);                 watchedcars.setvisibility(view.visible);                 line.setvisibility(view.visible);                 break;             case r.id.no:                 check(noradio);                 uncheck(yesradio);                 watchedcars.setvisibility(view.gone);                 line.setvisibility(view.gone);                 break;             case r.id.watched_cars:                 intent = new intent(this, addwatchedcaractivity.class);                 intent.putextra(constant.car_id, mwatchedcarsstring);                 startactivity(intent);                 break;             case r.id.level:                 getlevels();                 break;             case r.id.next_visit_time:                 mselectdate.showatlocation(parent, gravity.bottom, 0, 0);                 break;             case r.id.save_my_cusotmer:                 if (name.gettext().tostring().trim().length() > 5) {                     name.seterror("名字不能超过五个字");                     return;                 }                  //clear class holder 282   ------>   classholer.carsholder = null;                  mloadingdialog.show();                 savemycustomer();                 break;         }      } 

only use here:

 private void initview() {         mloadingdialog = new loadingdialog(this);         list<car> cars;          if (classholer.carsholder == null) {             cars = new arraylist<>();         } else {             cars = classholer.carsholder;             classholer.carsholder = null;         }     } 

is there extreme condition code got nullpointerexception ?


Comments