仅使用 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;
我在 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;