2012-07-24 3 views
6

xml에 6 개의 EditText 필드가 있습니다. Button 클릭시 모든 EditText에 값이 있는지 또는 비어 있는지 확인해야합니다. 현재 각 EditText를 하나씩 확인하고 있습니다. 한 번에 모두 어떻게 확인할 수 있습니까?을 사용하여 모든 EditText가 비어 있는지 확인하십시오.

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

항상 좋을 것이다 하나씩 확인! – Shobhit

답변

25

코드는 "에 대한"싸이클을 사용합니다.

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; 
} 

과 같은 방법을 사용 : 모든 필드가 비어 있지 않은 경우

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

가 true를 반환됩니다.

+0

답장을 보내 주셔서 감사합니다 !! –

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

답변 주셔서 감사합니다. Georgy :) –

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

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

OP 코드에 무엇이 잘못되었으며 질문을 편집하여 문제를 해결하는 방법을 설명해주세요. * –

관련 문제