检查所有EditText是否为空

时间:2012-07-24 14:07:44

标签: android

我在xml中有6个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
             }


        }
    });


}

3 个答案:

答案 0 :(得分:26)

使用“for”循环。

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。

答案 1 :(得分:3)

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

        }
    });

答案 2 :(得分:0)

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

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