* EDITED *警告对话框仅适用于一个实例(Android)

时间:2011-08-03 19:10:07

标签: java android

*编辑*对不起,很抱歉,错误的原因是因为我不小心将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();

        }

    }
}
});

1 个答案:

答案 0 :(得分:1)

我认为你应该使用equals而不是contentEquals

 if (!email.getText().toString().equals(email2.getText().toString())) {