android - TextInput Layout not clearing the error message -


text fields errors not clearing after user input.

if add error message positioned below edit-text , looks good.

here entered first user name error still displayed below textinput layout.

enter image description here

code:

if(!textutils.isempty(display_name) && !textutils.isempty(email) && !textutils.isempty(password)){      mregprogress.settitle("registering user");     mregprogress.setmessage("please wait....");     mregprogress.setcanceledontouchoutside(false);     mregprogress.show();      register_user(display_name, email, password);  }else{      if (mdisplayname.getedittext().gettext().tostring().length() == 0)     {         mdisplayname.seterrorenabled(true);         mdisplayname.seterror("please provide name!");     }     else if ((!android.util.patterns.email_address.matcher(memail.getedittext().gettext().tostring()).matches()) && memail.getedittext().gettext().tostring().length() == 0)     {         memail.seterrorenabled(true);         memail.seterror("please provide valid email address!");     }     else if (mpassword.getedittext().gettext().tostring().length() == 0)     {         mpassword.seterrorenabled(true);         mpassword.seterror("please provide password!");     }      else{         if (mdisplayname.getedittext().gettext().tostring().length() > 0){             mdisplayname.seterror(null);             mdisplayname.seterrorenabled(false);         }          else if(memail.getedittext().gettext().tostring().length() > 0){             memail.seterror(null);             memail.seterrorenabled(false);         }         else if(mpassword.getedittext().gettext().tostring().length() == 0){             mpassword.seterror(null);             mpassword.seterrorenabled(false);         }     } } 

you need clear text input after values - when have confirmed have values. if have values nothing after first else executed.

if(!textutils.isempty(display_name) && !textutils.isempty(email) &&  !textutils.isempty(password)){      mregprogress.settitle("registering user");     mregprogress.setmessage("please wait....");     mregprogress.setcanceledontouchoutside(false);     mregprogress.show();      register_user(display_name, email, password);     // reset text inputs , other bits , pieces.     // if true nothing beyond here executed!!  }else{ 

so move logic above else:

if(!textutils.isempty(display_name) && !textutils.isempty(email) &&  !textutils.isempty(password)){      mregprogress.settitle("registering user");     mregprogress.setmessage("please wait....");     mregprogress.setcanceledontouchoutside(false);     mregprogress.show();      register_user(display_name, email, password);     // reset text inputs , other bits , pieces.     // start logic validate input here     if (mdisplayname.getedittext().gettext().tostring().length() == 0){         .../...  }else{     // put logic here if there no input.  

Comments

Popular posts from this blog

Is there a better way to structure post methods in Class Based Views -

performance - Why is XCHG reg, reg a 3 micro-op instruction on modern Intel architectures? -

jquery - Responsive Navbar with Sub Navbar -