2016-04-09 8 views
1

EditTextフィールドを、EditTextボックスのテキストが"Monday"または"Tuesday"または"Wednesday"などであるかどうかを確認するメソッドで検証しようとしていますが、同様の方法で検証しましたしかしIDコードは||演算子はこのような状況では動作しませんので、私はそれをやり遂げる方法についてはわかりません。AndroidのパターンでORを使用する

private boolean isValidCode(String code) { 
    String Code_Pattern = "[A-Z]" + "[A-Z]" + "[0-9]" + "[0-9]" + "[0-9]" + "[0-9]"; 
    Pattern pattern = Pattern.compile(Code_Pattern); 
    Matcher matcher = pattern.matcher(code); 
    return matcher.matches(); 
} 
private boolean isValidDayOfWeek(String day) { 
    String day_Pattern = "Monday" || "Tuesday"... ; //error here 
    Pattern pattern = Pattern.compile(day_Pattern); 
    Matcher matcher = pattern.matcher(day); 
    return matcher.matches(); 
} 

これは、コードを正しく検証するボタンクリックメソッドです。

 Validate.setOnClickListener(new View.OnClickListener() { 
     public void onClick(View v) { 
      final String code = codeText.getText().toString(); 
      if (!isValidCode(code)) { 
       codeText.setError("Invalid Code"); 
       validationError = true; 
      } 
      else { 
       Validate.setVisibility(View.GONE); 
       Add.setVisibility(View.VISIBLE); 
      } 
     } 
    }); 
+1

'文字列day_Pattern = "月曜日||火曜日" ...' –

+1

非常に簡単な修正、ありがとうございました! – Patterrz

答えて

2

は、代わりにPattern Matchingを持つのは、単純になりますが、すべての日が含まれているArraylistStringの種類を作成し、それを検証する必要がある場合だけでArrayListのは、その日の含まれているかどうかを確認することができます。

final String code = codeText.getText().toString(); 
return arraylist.contains(code); 
関連する問題