2011-08-03 7 views
0

(アンドロイド)1つのインスタンス上で動作しますが、バグの原因となりましたそれはねじ込みを引き起こした。* EDITED *警告]ダイアログボックスのみのトラブルのため申し訳ありませんが、編集* *

私は正確に確認のメールを入力していない人に、適切な電子メール(ノー「」または 『@』)と第2のメッセージを入力していない人々に警告メッセージを作成しようとしています

元の。私の警告ダイアログが、コードがほぼ同一であっても、第1のものだけで、第2のものは動作しないのはなぜですか?人がテキストの編集を終えたら、警告ダイアログがポップアップするはずです(編集テキストのフォーカスを残してください)ありがとう!

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

eclipseでデバッグすると、最終的には「ソースが見つかりません」というページが表示されます。だから私は再開をクリックし、プログラムがそのことをするようにします。しかし、私が見たことから、それは第2の方法には入っていないように思える。 – Sean

+0

私は明らかな質問は、 'email2'はいつもフォーカスを失うのでしょうか?おそらくコード内にログを記録して、そのメソッドの内部にログを記録できるかどうかを確認できますか? –

答えて

1

私はあなたが使うべきだと思うあなたは、デバッグから発見した何contentEquals

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

ありがとうございますが、動作しませんでした。私のemail2.setOnFOcusChangeListenerは全く変わっていないようです。 – Sean

関連する問題