Я вызываю EditText внутри AlertDialogue и хочу, чтобы он принимал только цифры / имел цифровую клавиатуру. XML из EditText для android: input = "numbers" it.
...
EditText en = new EditText(this);
Android.App.AlertDialog.Builder at = new Android.App.AlertDialog.Builder(this);
at.SetTitle("Unit Initiative");
at.SetMessage("Please enter a number");
at.SetView(en);
at.SetPositiveButton("Add", delegate
{
int number;
bool success = Int32.TryParse(en.Text, out number);
if (success)
{
itemUnit.ItemNumber = number;
ItemUnits.Add(itemUnit);
iuAdapter.Add(itemUnit);
iuAdapter.NotifyDataSetChanged();
}
else
{
en.Text = "";
Toast.MakeText(this,
"Please Input a Number",
ToastLength.Short).Show();
}
});
at.SetNegativeButton("Cancel", delegate
{
return;
});
at.Show();
});
ad.SetCancelable(true);
ad.SetNegativeButton("Cancel", delegate
{
return;
});
ad.Show();
};
}
Текущий метод не очень хорош, и всплывающее окно не сможет добавить элемент в список, если Вы не вводите число.
Я бы предпочел, чтобы у него была только цифровая клавиатура, но единственное решение, которое я вижу, - это XML или Java, есть ли C# альтернатива, чтобы заставить клавиатуру Edittext быть только цифрами?