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.
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
Post a Comment