2011-08-03 6 views
0

* 편집 * 죄송합니다. 그 이유는 실수로 findViewById (R.id.editTextemail2)를 다른 편집 텍스트에 제공했기 때문입니다. 망쳐 버렸어.* 수정 * 알림 대화 상자는 하나의 인스턴스에서만 작동합니다 (Android)

올바른 이메일 ('.'또는 '@'이 아님)을 입력하지 않은 사람들에게 경고 메시지를 보내려고하고 있으며 확인 메일을 정확하게 입력하지 않은 사람들에게 두 번째 메시지를 보내려고합니다. 실물. 어떤 사람이 내 경고 대화 상자가 코드가 거의 동일하더라도 첫 번째 대화 상자에서만 작동하고 두 번째 대화 상자에서는 작동하지 않는 이유를 설명 할 수 있습니까? 사람이 텍스트 편집을 마쳤 으면 경고 대화 상자가 나타납니다 (텍스트 편집 포커스 유지) 감사합니다!

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

의 동일 사용한다고 생각? 그것은 그것을 방법 안에 전혀 넣을 수 있습니까? 그렇다면 어떤 시점에서 실패할까요? Alert Dialog 코드를 통해 확인 할 수 있습니까? –

+0

이클립스에서 디버깅을하면 결국 "소스를 찾을 수 없음"페이지로 이동하게됩니다. 그래서 나는 단지 이력서를 클릭하고 프로그램이 그 일을하도록 내버려 둔다. 그러나 내가 본 것에서 볼 때 그것은 두 번째 방법으로 들어 가지 않는 것처럼 보입니다. – Sean

+0

나는'email2'가 초점을 잃어 버리지 않을까하는 것이 분명한 질문 인 것 같네요? 아마도 당신의 코드에 로깅을 넣어서 그 방법으로 코드를 만들 수 있을까요? –

답변

1

내가 대신 디버깅에서 발견 한 어떤 contentEquals

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

감사하지만 작동하지 않았습니다. 내 email2.setOnFOcusChangeListener가 전혀 이상하지 않은 것 같습니다. – Sean

관련 문제