我在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
}
}
});
}
答案 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