Я создаю свой пользовательский EditText, который проверяет электронную почту и другие вещи на фокусе, потерянном, и если он недействителен, тогда сфокусируйтесь. Он отлично работает, если у меня есть только один EditText, но когда у меня есть несколько EditText, он бесконечно фокусируется между полями editText, поскольку он пытается проверить валидацию в обоих. Вот мой пример кода.Custom EditText validation
public void init(){
this.setOnFocusChangeListener(new OnFocusChangeListener() {
@Override
public void onFocusChange(View v, boolean hasFocus) {
// TODO Auto-generated method stub
final MyEditText ed = MyEditText.this;
//...............check require field validation
if(!hasFocus && isRequire){
if(ed.getText().toString().length()<=0){
String msg = "Require Field";
v.clearFocus();
setErrorMsg(ed,msg);
return;
}
}else if(ed.getText().toString().length()>0){
ed.setError(null);
}
}
}
private void setErrorMsg(final EditText ed,String msg){
if(errorMessage!=null && errorMessage.length()>0){
msg = errorMessage;
}
ed.setError(msg);
ed.post(new Runnable() {
public void run() {
ed.requestFocus();
}
});
}
Thanx ... это сработало для меня –
plzz upvote it @HetalUpadhyay – DropAndTrap