*编辑*对不起,很抱歉,错误的原因是因为我不小心将findViewById(R.id.editTextemail2)发给了另一个编辑文本,导致它搞砸了。
我正在尝试向未输入正确电子邮件(不是'。'或'@')的人创建警告消息,并向没有输入完全原始确认电子邮件的人发送第二条消息。有人可以解释为什么我的警报对话框仅适用于第一个而不是第二个,即使代码几乎相同吗?一旦人完成编辑文本,就会弹出警告对话框(离开编辑文本焦点)谢谢!
email = (EditText) findViewById(R.id.editTextemail);
email2 = (EditText) findViewById(R.id.editTextemail2);
email.setOnFocusChangeListener(new OnFocusChangeListener() {
@Override
public void onFocusChange(View arg0, boolean hasFocus) {
// checks if it is a proper email
if (!hasFocus) {
if (!hasPeriod(email.getText().toString())
|| !hasAt(email.getText().toString())) {
new AlertDialog.Builder(CreateAccount.this)
.setTitle("Error")
.setMessage(
"Please enter a properly formatted email address to continue")
.setNeutralButton("OK", null).show();
}
}
}
});
email2.setOnFocusChangeListener(new OnFocusChangeListener() {
@Override
public void onFocusChange(View arg0, boolean hasFocus) {
// checks if it is a proper email
if (!hasFocus) {
if (!email.getText().toString()
.contentEquals(email2.getText().toString())) {
new AlertDialog.Builder(CreateAccount.this)
.setTitle("Error")
.setMessage(
"Please verify your email addresses match")
.setNeutralButton("OK", null).show();
}
}
}
});
答案 0 :(得分:1)
我认为你应该使用equals而不是contentEquals
if (!email.getText().toString().equals(email2.getText().toString())) {