android - Getting a null pointer exception in logcat when using radiobutton.getText() -


in android app using 2 radiobuttons.

one of them selected , value stored in database rdbbut.gettext() throwing null pointer exception in onclick method here:

checklogin(email, password, rdbbut.gettext().tostring()) 

my code:

@override public void oncreate(bundle savedinstancestate) {     super.oncreate(savedinstancestate);     setcontentview(r.layout.activity_login);      inputemail = (edittext) findviewbyid(r.id.email);     inputpassword = (edittext) findviewbyid(r.id.password);     rggrp = (radiogroup) findviewbyid(r.id.radiogroup);     rb1 = (radiobutton) findviewbyid(r.id.radiobutton1);     rb2 = (radiobutton) findviewbyid(r.id.radiobutton2);     btnlogin = (button) findviewbyid(r.id.btnlogin);     btnlinktoregister = (button) findviewbyid(r.id.btnlinktoregisterscreen);     final int selectedid = rggrp.getcheckedradiobuttonid();     // progress dialog     pdialog = new progressdialog(this);     pdialog.setcancelable(false);      // session manager     session = new sessionmanager(getapplicationcontext());      // check if user logged in or not     if (session.isloggedin()) {         // user logged in. take him main activity         intent intent = new intent(loginactivity.this, mainactivity.class);         startactivity(intent);         finish();     }      // login button click event     btnlogin.setonclicklistener(new view.onclicklistener() {          public void onclick(view view) {             string email = inputemail.gettext().tostring();             string password = inputpassword.gettext().tostring();              rdbbut = (radiobutton) findviewbyid(selectedid);             // check empty data in form             if (email.trim().length() > 0 && password.trim().length() > 0) {                 // login user                 checklogin(email, password, rdbbut.gettext().tostring());             } else {                 // prompt user enter credentials                 toast.maketext(getapplicationcontext(),                         "please enter credentials!", toast.length_long)                         .show();             }         }      });      // link register screen     btnlinktoregister.setonclicklistener(new view.onclicklistener() {          public void onclick(view view) {             intent = new intent(getapplicationcontext(),                     registeractivity.class);             startactivity(i);             finish();         }     });  }  /**  * function verify login details in mysql db  * */ private void checklogin(final string email, final string password,         final charsequence charsequence) {     // tag used cancel request     string tag_string_req = "req_login";      pdialog.setmessage("logging in ...");     showdialog();      stringrequest strreq = new stringrequest(method.post,             appconfig.url_register, new response.listener<string>() {                  @override                 public void onresponse(string response) {                     log.d(tag, "login response: " + response.tostring());                     hidedialog();                      try {                         jsonobject jobj = new jsonobject(response);                         boolean error = jobj.getboolean("error");                          // check error node in json                         if (!error) {                             // user logged in                             // create login session                             session.setlogin(true);                              // launch main activity                             intent intent = new intent(loginactivity.this,                                     mainactivity.class);                             startactivity(intent);                             finish();                         } else {                             // error in login. error message                             string errormsg = jobj.getstring("error_msg");                             toast.maketext(getapplicationcontext(),                                     errormsg, toast.length_long).show();                         }                     } catch (jsonexception e) {                         // json error                         e.printstacktrace();                     }                  }             }, new response.errorlistener() {                  @override                 public void onerrorresponse(volleyerror error) {                     log.e(tag, "login error: " + error.getmessage());                     toast.maketext(getapplicationcontext(),                             error.getmessage(), toast.length_long).show();                     hidedialog();                 }             }) {          @override         protected map<string, string> getparams() {             // posting parameters login url             map<string, string> params = new hashmap<string, string>();             params.put("tag", "login");             params.put("email", email);             params.put("password", password);             params.put("type", (string) charsequence);              return params;         }      };      // adding request request queue     appcontroller.getinstance().addtorequestqueue(strreq, tag_string_req); }  private void showdialog() {     if (!pdialog.isshowing())         pdialog.show(); }  private void hidedialog() {     if (pdialog.isshowing())         pdialog.dismiss(); } 

logcat :

06-02 23:36:55.638: d/androidruntime(1074): shutting down vm 06-02 23:36:55.638: w/dalvikvm(1074): threadid=1: thread exiting uncaught exception (group=0x40a13300) 06-02 23:36:55.687: e/androidruntime(1074): fatal exception: main 06-02 23:36:55.687: e/androidruntime(1074): java.lang.nullpointerexception 06-02 23:36:55.687: e/androidruntime(1074):     @ com.kirti.login_screen.loginactivity$1.onclick(loginactivity.java:99) 06-02 23:36:55.687: e/androidruntime(1074):     @ android.view.view.performclick(view.java:4084) 06-02 23:36:55.687: e/androidruntime(1074):     @ android.view.view$performclick.run(view.java:16966) 06-02 23:36:55.687: e/androidruntime(1074):     @ android.os.handler.handlecallback(handler.java:615) 06-02 23:36:55.687: e/androidruntime(1074):     @ android.os.handler.dispatchmessage(handler.java:92) 06-02 23:36:55.687: e/androidruntime(1074):     @ android.os.looper.loop(looper.java:137) 06-02 23:36:55.687: e/androidruntime(1074):     @ android.app.activitythread.main(activitythread.java:4745) 06-02 23:36:55.687: e/androidruntime(1074):     @ java.lang.reflect.method.invokenative(native method) 06-02 23:36:55.687: e/androidruntime(1074):     @ java.lang.reflect.method.invoke(method.java:511) 06-02 23:36:55.687: e/androidruntime(1074):     @ com.android.internal.os.zygoteinit$methodandargscaller.run(zygoteinit.java:786) 06-02 23:36:55.687: e/androidruntime(1074):     @ com.android.internal.os.zygoteinit.main(zygoteinit.java:553) 06-02 23:36:55.687: e/androidruntime(1074):     @ dalvik.system.nativestart.main(native method) 06-02 23:36:58.688: i/process(1074): sending signal. pid: 1074 sig: 9 

my login.xml file:

<linearlayout xmlns:android="http://schemas.android.com/apk/res/android"   android:layout_width="fill_parent"      android:layout_height="fill_parent"      android:background="@color/bg_login"     android:gravity="center"     android:orientation="vertical"     android:padding="10dp" >      <linearlayout         android:layout_width="fill_parent"         android:layout_height="wrap_content"         android:layout_gravity="center"         android:orientation="vertical"         android:paddingleft="20dp"         android:paddingright="20dp" >          <edittext             android:id="@+id/email"             android:layout_width="fill_parent"             android:layout_height="wrap_content"             android:layout_marginbottom="10dp"             android:background="@color/white"             android:hint="@string/hint_email"             android:inputtype="textemailaddress"             android:padding="10dp"             android:singleline="true"             android:textcolor="@color/input_login"             android:textcolorhint="@color/input_login_hint" />          <edittext             android:id="@+id/password"             android:layout_width="fill_parent"             android:layout_height="wrap_content"             android:layout_marginbottom="10dp"             android:background="@color/white"             android:hint="@string/hint_password"             android:inputtype="textpassword"             android:padding="10dp"             android:singleline="true"             android:textcolor="@color/input_login"             android:textcolorhint="@color/input_login_hint" />             <!-- login button -->     <radiogroup    android:layout_width="fill_parent"    android:layout_height="80dp"     android:layout_margintop="20dp"    android:weightsum="1"    android:id="@+id/radiogroup">          <radiobutton             android:id="@+id/radiobutton1"             android:layout_width="wrap_content"             android:layout_height="wrap_content"             android:textstyle="bold"             android:padding="10dip"             android:text="@string/owner" />          <radiobutton             android:id="@+id/radiobutton2"             android:layout_width="wrap_content"             android:layout_height="wrap_content"             android:textstyle="bold"             android:padding="10dip"             android:text="@string/bikers" />         </radiogroup>          <button             android:id="@+id/btnlogin"             android:layout_width="fill_parent"             android:layout_height="wrap_content"             android:layout_margintop="20dip"             android:background="@color/btn_login_bg"             android:text="@string/btn_login"             android:textcolor="@color/btn_login" />          <!-- link login screen -->          <button             android:id="@+id/btnlinktoregisterscreen"             android:layout_width="fill_parent"             android:layout_height="wrap_content"             android:layout_margintop="40dip"             android:background="@null"             android:text="@string/btn_link_to_register"             android:textallcaps="false"             android:textcolor="@color/white"             android:textsize="15sp" />     </linearlayout>    </linearlayout> 

change

rdbbut = (radiobutton) findviewbyid(selectedid); 

to

rdbbut = (radiobutton) mainactivity.this.findviewbyid(selectedid); 

Comments

Popular posts from this blog

python - TypeError: start must be a integer -

c# - DevExpress RepositoryItemComboBox BackColor property ignored -

django - Creating multiple model instances in DRF3 -