c# - EditText 数字仅使用 C#?
问题描述
我在 AlertDialogue 中调用 EditText,我希望它只接受数字/具有数字键盘。EditText 没有 XML 到 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
EditText 的属性并将其设置InputTypes.ClassNumber
为仅显示带有数字的键盘。
前任。:editText.InputType = InputTypes.ClassNumber;
推荐阅读
- java - REST API:服务中的字段存储库需要一个名为“entityManagerFactory”的 bean,但无法找到
- javascript - 如何使用“数据:文本/纯文本”打印井号?
- heroku - 在带有 .htpasswd 命令的 heroku CLI 中,输入的密码未显示
- ruby - 用户电子邮件为零(Octokit Github API)
- java - ARCore – 如何将真实世界对象放置在 3d 模型前面?
- reactjs - React dnd - 拖放以更改输入的值
- batch-file - 如何获得 ERRORLEVEL 以返回 WMIC 远程命令执行?
- c# - JsonConvert.DeserializeObject System.NullReferenceException
- php - 作曲家如何知道使用了哪些类?
- c++ - 查找向量c ++中是否已存在结构