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