C#とXamarinの新機能です。私は検証に取り組んでいます。 AndroidのEditText
を検証しようとしています。だから私はpattern.matches()
のAndroidメソッドを使用して検証しています。Pattern.Matches()はxamarinでは機能しません
と私はusing Java.Utils.Regex.Pattern
を使用しますが、コンパイラはそれを受け入れ、次のエラーが表示されていません。
Error : Pattern is ambiguous refernce between
Android.OS.Pattern
andJava.Utils.Regex.Pattern
.
コード:
public static bool isValid(EditText edittext, string regex, string errMsg, bool required)
{
string text = edittext.Text.ToString();
edittext.Error = null;
if (required && !hasText(edittext))
return false;
if (required && !Pattern.matches(regex, text))
edittext.Error = "Is not valid";
return true;
}
を更新:
using Android.OS;
上記の名前スペースはcomplesuryが必要です。なぜなら、Androidはその名前空間にビルドされているのでエラーになります。その名前空間を削除します。Bundle
エラーが出ます。
protected override void OnCreate(Bundle savedInstanceState)
{
base.OnCreate(savedInstanceState);
SetContentView(Resource.Layout.Activity_register);
}
とも
using Java.Util.Regex.Pattern
はXamarinにインポートされていません。
この問題を解決するにはどうすればよいですか。
*関連する*コードをすべて明記してください。私はあなたが使用しているクラスの完全修飾名を提供する必要があると思います。 –
@WiktorStribiżew質問を更新する – Ironman
はい、 'Pattern'を' Java.Utils.Regex.Pattern'または 'Android.OS.Pattern'に置き換えて、動作するかどうか確認してください。または、 '!Pattern.matches(regex、text)'を 'text.matches(regex)'に置き換えてみてください( 'text'がjava.lang.Stringの場合) –