仅使用 C# 的 EditText 数字?

EditText Numbers Only using C#?

我在 AlertDialogue 中调用 EditText,我希望它只接受 numbers/have 数字键盘。 没有XML的EditText到android:input="numbers"吧。

...
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 的 InputType 属性 并将其设置为 InputTypes.ClassNumber 以便只显示带数字的键盘。

例如。 : editText.InputType = InputTypes.ClassNumber;