Could not find method java.lang.String.isEmpty in early versions of android -


i'm programming app android, , app works fine on android 4.1, when i'm testing on other android 2.2 works fine except form, when click button send form app crashes.

i'd tried commenting different of code , i've found problem in if-else, don't know why hope can me this.

this code sends form:

private void createaccount(){         edittext nombre = (edittext) findviewbyid(r.id.name);         edittext mail = (edittext) findviewbyid(r.id.mail);         edittext tel = (edittext) findviewbyid(r.id.phone);         edittext pass = (edittext) findviewbyid(r.id.pass);         edittext pass2 = (edittext) findviewbyid(r.id.pass2);      name = nombre.gettext().tostring();     email = mail.gettext().tostring();     phone = tel.gettext().tostring();     pas = pass.gettext().tostring();     pas2 = pass2.gettext().tostring();      if(name.isempty() == false && email.isempty() == false && phone.isempty() == false && pas.isempty() == false && pas2.isempty() == false){         if(pas.equals(pas2)){             resptxt = cloud.createaccout(phone, name, email, pas, tel_id, tel_oper, tel_country);              textview alert = (textview)findviewbyid(r.id.reg_alert);              connectivitymanager connmgr = (connectivitymanager) getsystemservice(context.connectivity_service);             networkinfo networkinfo = connmgr.getactivenetworkinfo();             if(networkinfo != null && networkinfo.isconnected()){                 if(resptxt.equals("email")){                     alert.settext(gettext(r.string.reg_error1));                     regbtn.setenabled(true);                 }else if(resptxt.equals("error") || resptxt.equals("errorc")){                     alert.settext(gettext(r.string.reg_error2));                     regbtn.setenabled(true);                 }else if(resptxt.equals("correct")){                     sharedpreferences settings = getsharedpreferences(prefs_file, 0);                     sharedpreferences.editor editor = settings.edit();                     editor.putboolean("accountcreated", true);                     editor.putstring("status", "ok");                     editor.commit();                     intent move = new intent(appregis.this, homeact.class);                     startactivityforresult(move, 0);                 }             }else{                 alert.settext(gettext(r.string.nointernet));                 regbtn.setenabled(true);             }          }else{             textview alert = (textview)findviewbyid(r.id.reg_alert);             alert.settext(gettext(r.string.reg_alert)+" "+email);             regbtn.setenabled(true);         }     }else{         textview alert = (textview)findviewbyid(r.id.reg_alert);         alert.settext(gettext(r.string.reg_alert2).tostring());         regbtn.setenabled(true);     } } 

logcat output

07-11 17:21:26.251: i/dalvikvm(335): not find method java.lang.string.isempty, referenced method com.example/testactivity.createaccount() 07-11 17:21:26.251: w/dalvikvm(335): vfy: unable resolve virtual method 177: ljava/lang/string;.isempty ()z 07-11 17:21:26.251: d/dalvikvm(335): vfy: replacing opcode 0x6e @ 0x0042 07-11 17:21:26.251: d/dalvikvm(335): vfy: dead code 0x0045-0069 in lcom/example/testactivity/createaccount() (landroid/content/context;lcom/example/testtctivity;i)v 07-11 17:21:26.361: d/androidruntime(335): shutting down vm 07-11 17:21:26.361: w/dalvikvm(335): threadid=1: thread exiting uncaught exception (group=0x4001d800) 07-11 17:21:26.371: e/androidruntime(335): fatal exception: main 07-11 17:21:26.371: e/androidruntime(335): java.lang.nosuchmethoderror: java.lang.string.isempty 07-11 17:21:26.371: e/androidruntime(335):  @ com.example.testactivity.createaccount()(testactivity.java:178) 

line exception thrown if(name.isempty() == false....

this funny, because have bumped issue literally yesterday myself...

culprit not if...else itself, name.isempty() , alike.

logcat should have given hint - me have logged comments saying "can not find virtual java.lang.string.isempty.....".

and if hover on isempty() in eclipse, tell isempty() introduced in... api level 9, 2.3.

if want code run in froyo, need use name.length() > 0 - work starting api level 1.

of course, can set minsdklevel = 9 in manifest , forget compatibility 2.2 , below, if acceptable.


Comments