我的xamarin for android有问题。
在我的应用程序中,点击一个按钮后,我想播放两个语句。一,当EditTexts为空时,以及当editTexts不为空时。
我的应用程序总是崩溃第一个语句而不是第二个语句。
你可以看到我的代码。
Button generate = FindViewById<Button>(Resource.Id.generate);
generate.Click += Generate_Click;
private void Generate_Click(object sender, EventArgs e)
{
EditText inputMin = FindViewById<EditText>(Resource.Id.inputMin);
EditText inputMax = FindViewById<EditText>(Resource.Id.inputMax);
minimum = int.Parse(inputMin.Text);
maximum = int.Parse(inputMax.Text);
string minString = inputMin.Text;
string maxString = inputMax.Text;
if (String.IsNullOrEmpty(minString) || String.IsNullOrEmpty(maxString))
{
Toast.MakeText(this, "Enter a minimum and a maximum value", ToastLength.Long).Show();
Console.WriteLine("check input empty");
}
else { do this }
}
我不知道为什么会崩溃。
任何帮助?
非常感谢!
问候,山姆。
答案 0 :(得分:0)
在大多数情况下,问题都是int.Parse
。
请尝试使用int.TryParse
。
例如:
Button generate = FindViewById<Button>(Resource.Id.generate);
generate.Click += Generate_Click;
private void Generate_Click(object sender, EventArgs e)
{
EditText inputMin = FindViewById<EditText>(Resource.Id.inputMin);
EditText inputMax = FindViewById<EditText>(Resource.Id.inputMax);
int minimum, maximum;
if(!int.TryParse(inputMin.Text, out minimum) && int.TryParse(inputMax.Text, out maximum))
{
Console.WriteLine("Parsing problem!");
// return; <--- If you want to stop.
}
string minString = inputMin.Text;
string maxString = inputMax.Text;
if (String.IsNullOrEmpty(minString) || String.IsNullOrEmpty(maxString))
{
Toast.MakeText(this, "Enter a minimum and a maximum value",
ToastLength.Long).Show();
Console.WriteLine("check input empty");
}
else
{
// do this
}
}