2012-07-24 20 views
6

Tengo 6 campos EditText en un xml .. en el botón clic Necesito validar si todos los EditText tienen valores o si está vacío. Actualmente estoy revisando cada EditText uno por uno ... ¿Cómo puedo verificar todo de una vez?para verificar si todo EditText está vacío

Código

private Button BtnSave; 
EditText ev_last_name,ev_first_name,ev_email,ev_password,ev_confirm_password,ev_phone; 
String last_name,first_name,email,password,confirm_password,phone; 

@Override 
protected void onCreate(Bundle savedInstanceState) { 
    // TODO Auto-generated method stub 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.signup); 
    BtnSave=(Button) findViewById(R.id.BtnSave); 
    ev_last_name=(EditText)findViewById(R.id.edit_lname); 
    ev_first_name=(EditText)findViewById(R.id.edit_fname); 
    ev_email=(EditText)findViewById(R.id.edit_email); 
    ev_password=(EditText)findViewById(R.id.edit_passwd); 
    ev_confirm_password=(EditText)findViewById(R.id.edit_cpasswd); 
    ev_phone=(EditText)findViewById(R.id.edit_phone); 



    BtnSave.setOnClickListener(new OnClickListener() { 

     @Override 
     public void onClick(View v) { 
      // TODO Auto-generated method stub 
      last_name=ev_last_name.getText().toString(); 
      first_name=ev_first_name.getText().toString(); 
      email=ev_email.getText().toString(); 
      password=ev_password.getText().toString(); 
      confirm_password=ev_confirm_password.getText().toString(); 
      phone=ev_phone.getText().toString(); 

      if ((ev_last_name.getText().toString().length() <= 0)) 
      { 
       System.out.println(" The EditText is empty"); 
       //I will use the toast later 
      } 


     } 
    }); 


} 
+0

ellos Comprobación de uno a uno siempre sería mejor! – Shobhit

Respuesta

25

Utilice un ciclo "para".

private boolean validate(EditText[] fields){ 
    for(int i = 0; i < fields.length; i++){ 
     EditText currentField = fields[i]; 
     if(currentField.getText().toString().length() <= 0){ 
      return false; 
     } 
    } 
    return true; 
} 

y utilizar el método de la siguiente manera:

boolean fieldsOK = validate(new EditText[] { ev_last_name, ev_first_name, ev_email }) 

devolverá true si todos los campos son no vacíos.

+0

¡Gracias por la respuesta! –

1
private boolean isEmptyField (EditText editText){ 
    boolean result = editText.getText().toString().length() <= 0; 
    if (result) 
     Toast.makeText(context, "Fill all fielsd!", Toast.LENGTH_SHORT).show(); 
    return result; 
} 

BtnSave.setOnClickListener(new OnClickListener() { 

     @Override 
     public void onClick(View v) { 
      if (isEmptyField(ev_last_name)) return; 
      if (isEmptyField(ev_first_name)) return; 


      // your logic here; 
      ... 

     } 
    }); 
+0

Gracias por la respuesta Georgy :) –

0
EditText resultInput = (EditText)findViewById(R.id.result); 

if(resultInput.getText().length() > 0) 
// Edit Text is Empty 
else 
// Edit Text is Empty 
+0

Explique qué está mal con el código de OP y cómo resuelve el problema * editando su pregunta. * –

Cuestiones relacionadas