我在一个 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
}
}
});
}
最佳答案
使用“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。
关于android - 检查所有 EditText 是否为空,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11632678/