Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/185.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# EditText验证消息框Xamarin c android_C#_Android_Xamarin_Input_Xamarin.android - Fatal编程技术网

C# EditText验证消息框Xamarin c android

C# EditText验证消息框Xamarin c android,c#,android,xamarin,input,xamarin.android,C#,Android,Xamarin,Input,Xamarin.android,有人知道在EditText.Text中输入值时如何创建消息框吗?? 示例:Userx单击表单并输入一个值。。。如果该值为10或更高,他/她将收到错误消息,并且该值设置为默认值0。。。当我尝试转换.ToInt32或Int.Parse时,我一开始在“输入字符串格式不正确”这行中说了一些错误。。。但是我放置了EditText.Text=10;它似乎可以工作,但当我把循环放进去时,它崩溃了,没有显示错误 EditText.Text = "10"; int x = Convert.ToInt32(Edit

有人知道在EditText.Text中输入值时如何创建消息框吗?? 示例:Userx单击表单并输入一个值。。。如果该值为10或更高,他/她将收到错误消息,并且该值设置为默认值0。。。当我尝试转换.ToInt32或Int.Parse时,我一开始在“输入字符串格式不正确”这行中说了一些错误。。。但是我放置了EditText.Text=10;它似乎可以工作,但当我把循环放进去时,它崩溃了,没有显示错误

EditText.Text = "10";
int x = Convert.ToInt32(EditText.Text.ToString()) // or Int.Parse(EditText.Text.Tostring())

// Validation
if( x >= 10) 
{
//message box appears and says you cant have a number 10 or higher then sets the value of x to 0
}
// Else sets x to the value the user puts in the editText.Text
我试过多种方法,
谢谢。

您可以收听EditText TextChanged事件,并将EditText选择设置为结束,使用Toast或Dialog显示错误消息:

EditText edit = FindViewById<EditText>(Resource.Id.edit);
edit.TextChanged += Edit_TextChanged;

private void Edit_TextChanged(object sender, TextChangedEventArgs e)
    {
        if (int.Parse(e.Text.ToString())>10)
        {
            edit.Text = "0";
            edit.SetSelection(edit.Text.Length);
            Toast.MakeText(this, "you cant have a number 10 or higher", ToastLength.Short).Show();
        }
    }

谢谢,它暂时工作,如果我在一个数字11的消息将出现,它将被设置为0。。。但是,当我尝试输入一个新值(如5)时,它会抛出一个异常int.Parsee.Text.ToString>10 System.FormatException:“输入字符串的格式不正确。”您应该首先判断e.Text.ToString是否为null。它能工作吗?