EditText Numbers Только с использованием C#? - PullRequest
0 голосов
/ 29 января 2020

Я вызываю 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 быть только цифрами?

1 Ответ

0 голосов
/ 29 января 2020

Вы можете использовать свойство InputType вашего EditText и установить его на InputTypes.ClassNumber, чтобы отображать только клавиатуру с цифрами.

Пример. : editText.InputType = InputTypes.ClassNumber;

...