#android #xamarin
#Android #xamarin
Вопрос:
Я пытаюсь проверить 3 значения, одно из которых вводится вручную, а два других выбираются с помощью средства выбора, в итоге оно не проверяется и появляется ошибка, мне нужно, чтобы, когда пользователь не ввел какое-либо значение, появлялось предупреждение о том, что все поля должны быть заполнены, ноЯ не вижу, как это реализовать.
void CalculateBMI(object sender, EventArgs e)
{
double weight = Double.Parse(peso.Text);
double feets = Double.Parse(Pies.SelectedItem.ToString());
double inches = Double.Parse(Pulgadas.SelectedItem.ToString());
double totalInches = (feets * 12) inches;
double bmi = (weight * 703) / (totalInches * totalInches);
lblBMIValue.Text = String.Format("Your BMI is {0:0.00}", bmi);
string bmiLevel = "";
Color color = Color.Transparent;
lblBMI.TextColor = Color.White;
if ((weight <= 0) || (inches <= 0) || (feets <= 0))
{
DisplayAlert("Attention", "Please complete all the data.", "Ok");
return;
}
else if (bmi < 18.5)
{
bmiLevel = "Underweight"; color = Color.FromHex("FECD57");
}
else if (bmi < 25)
{
bmiLevel = "Normal"; color = Color.FromHex("1287CE");
}
else if (bmi < 30)
{
bmiLevel = "Overweight"; color = Color.FromHex("FECD57");
}
else
{
bmiLevel = "Obese"; color = Color.FromHex("EC5564");
}
lblBMI.Text = bmiLevel;
bmiStack.BackgroundColor = color;
}
Ответ №1:
Если пользователь ничего не вводит в запись, Text
запись of Empty("")
;
Если пользователь ничего не выбирает в средстве выбора, значение SelectedItem
средства выбора равно нулю;
И в вашей CalculateBMI
функции вы должны сначала проверить 3 значения, а затем рассчитать ИМТ:
void CalculateBMI(object sender, EventArgs e)
{
if ((string.IsNullOrEmpty(peso.Text)) || (Pies.SelectedItem == null) || (Pulgadas.SelectedItem == null))
{
DisplayAlert("Attention", "Please complete all the data.", "Ok");
return;
}
double weight = Double.Parse(peso.Text);
double feets = Double.Parse(Pies.SelectedItem.ToString());
double inches = Double.Parse(Pulgadas.SelectedItem.ToString());
double totalInches = (feets * 12) inches;
double bmi = (weight * 703) / (totalInches * totalInches);
lblBMIValue.Text = String.Format("Your BMI is {0:0.00}", bmi);
string bmiLevel = "";
Color color = Color.Transparent;
lblBMI.TextColor = Color.White;
if (bmi < 18.5)
{
bmiLevel = "Underweight"; color = Color.FromHex("FECD57");
}
else if (bmi < 25)
{
bmiLevel = "Normal"; color = Color.FromHex("1287CE");
}
else if (bmi < 30)
{
bmiLevel = "Overweight"; color = Color.FromHex("FECD57");
}
else
{
bmiLevel = "Obese"; color = Color.FromHex("EC5564");
}
lblBMI.Text = bmiLevel;
}
Ответ №2:
bool error = false;
if (string.IsNullOrEmpty(peso.Text) ||
Pies.SelectedItem == null ||
Pulgadas.SelectedItem == null)
{
error = true;
// display error message
}