当我跳过EditText字段(例如:name)时,我想显示错误消息,如" name字段为空"。这是我的代码,
public void onClick(View v) {
String userName=username.getText().toString();
String passWord=password.getText().toString();
if (userName.equals("")){
username.setError("Username Required");
}
else if(passWord.isEmpty()){
password.setError("Password Required");
}
else{
Toast.makeText(Login.this, "Success", Toast.LENGTH_SHORT).show();
}
}
请帮帮我。
答案 0 :(得分:1)
点击按钮,您可以检查编辑文本为空或不显示错误
public void onClick(View v) {
String userName=username.getText().toString();
String passWord=password.getText().toString();
if (userName.equals("")){
username.setError("name field is empty");
}
else if(passWord.isEmpty()){
password.setError("Password Required");
}
else{
Toast.makeText(Login.this, "Success", Toast.LENGTH_SHORT).show();
}
}
答案 1 :(得分:0)
尝试使用 setOnFocusChangeListener()
UserName.setOnFocusChangeListener(new OnFocusChangeListener() {
@Override
public void onFocusChange(View v, boolean hasFocus) {
String userName=username.getText().toString();
if (userName.equals("")){
username.setError("name field is empty");
username.requestFocus();
}
}
}
});
Password.setOnFocusChangeListener(new OnFocusChangeListener() {
@Override
public void onFocusChange(View v, boolean hasFocus) {
String passWord=password.getText().toString();
if(passWord.equals("")){
password.setError("Password Required");
password.requestFocus();
}
}
}
});
答案 2 :(得分:0)
假设您正在尝试检查有效的用户名,然后在EditText的文本更改事件上,您可以使用此代码。
edit_name.addTextChangedListener(new TextWatcher() {
@Override
public void onTextChanged(CharSequence s, int start, int before, int count) {}
@Override
public void beforeTextChanged(CharSequence s, int start, int count,
int after) {}
@Override
public void afterTextChanged(Editable s) {
Is_Valid_Person_Name(edit_name);
}
});
这很简单,并且会在您正在填写的editText旁边显示红色错误,正如您在此网站上看到的那样
public void Is_Valid_Person_Name(EditText edt) throws NumberFormatException {
if (edt.getText().toString().length() <= 0) {
edt.setError("Accept Alphabets Only.");
name = null;
} else if (!edt.getText().toString().matches("[a-zA-Z ]+")) {
edt.setError("Accept Alphabets Only.");
name = null;
} else {
name = edt.getText().toString();
edt.setError(null);
}
}
您可以采用类似的方式应用其他验证。