崩溃按钮if语句xamarin android

时间:2017-05-13 18:13:27

标签: c# android .net xamarin device

我的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 }

}

我不知道为什么会崩溃。

任何帮助?

非常感谢!

问候,山姆。

1 个答案:

答案 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 
   }
}