崩溃按钮 if 语句 xamarin android

Crash button if statement xamarin android

我对 android 的 xamarin 有疑问。

在我的应用程序中,单击一个按钮后,我想播放两个语句。一,当 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 }

}

我不知道为什么会崩溃。

有什么帮助吗?

非常感谢!

此致,萨姆。

在大多数情况下,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 
   }
}