0

ここに画像の説明を入力

if((noValidate.getText().toString().length()>0)  &&     (nameValidate.getText().toString().length()>0)  &&
            (conpassValidate.getText().toString() ==  passValidate.getText().toString()) &&  (email.matches(emailPattern))
            &&(passValidate.getText().toString().length()>0))
        {
        Toast.makeText(this, "Your Information are saved succesfully ",   Toast.LENGTH_SHORT).show();

        Intent getStarted = new Intent(getApplicationContext(),  FourthActivity.class);
        startActivity(getStarted);
        }
    else
    {
        Toast.makeText(this, "Field Requiered",Toast.LENGTH_SHORT ).show();
    }
}

ここでサインインボタンをクリックすると、フィールドが検証され、サマーライズされます。いずれかのフィールドが空の場合、そのフィールドが必須であることを示します。すべてのフィールドにデータを入力した場合、常にそのフィールドが必須であることを示します。どこに問題があったのかわかりません。

4

1 に答える 1

1

Java では、等号演算子 (=) を使用して文字列を比較することはできません。

conpassValidate.getText().toString() ==  passValidate.getText().toString()

代わりに equal メソッドを使用します。

conpassValidate.getText().toString().equals(passValidate.getText().toString())

これは完全なコードになります:

if((noValidate.getText().toString().length()>0)  &&     
   (nameValidate.getText().toString().length()>0)  &&
   (conpassValidate.getText().toString().equals(passValidate.getText().toString())) &&  
   (email.matches(emailPattern)) && 
   (passValidate.getText().toString().length()>0)) {

       Toast.makeText(this, "Your Information are saved succesfully ",   Toast.LENGTH_SHORT).show();
       Intent getStarted = new Intent(getApplicationContext(),  FourthActivity.class);
       startActivity(getStarted);
} else {
       Toast.makeText(this, "Field Requiered",Toast.LENGTH_SHORT ).show();
}

それでもうまくいかない場合は、このコードを使用して検証を出力してください。

String tag = "Your Tag";
Log.d(tag, "1: " + noValidate.getText().toString().length()>0 ? "YES":"NO");
Log.d(tag, "2: " + nameValidate.getText().toString().length()>0 ? "YES":"NO");
Log.d(tag, "3: " + conpassValidate.getText().toString().equals(passValidate.getText().toString()) ? "YES":"NO");
Log.d(tag, "4: " + email.matches(emailPattern) ? "YES":"NO");
Log.d(tag, "5: " + passValidate.getText().toString().length()>0 ? "YES":"NO");
于 2013-07-27T11:04:53.003 に答える