我本质上是在尝试以编程方式设置 EditText 的数字值。到目前为止我有:
weightInput.setInputType(InputType.TYPE_CLASS_PHONE);
weightInput.setKeyListener(DigitsKeyListener.getInstance());
这很好,但我还希望能够包含一个小数位 (.)。有任何想法吗?
原文由 ryandlf 发布,翻译遵循 CC BY-SA 4.0 许可协议
我本质上是在尝试以编程方式设置 EditText 的数字值。到目前为止我有:
weightInput.setInputType(InputType.TYPE_CLASS_PHONE);
weightInput.setKeyListener(DigitsKeyListener.getInstance());
这很好,但我还希望能够包含一个小数位 (.)。有任何想法吗?
原文由 ryandlf 发布,翻译遵循 CC BY-SA 4.0 许可协议
试试这个:
weightInput.setInputType(InputType.TYPE_NUMBER_FLAG_DECIMAL);
weightInput.setKeyListener(DigitsKeyListener.getInstance(false,true));
public static DigitsKeyListener getInstance (boolean sign, boolean decimal)
返回一个接受数字 0 到 9 的 DigitsKeyListener,加上减号(仅在开头)和/或小数点(每个字段只有一个)(如果指定)。
这解决了关于许多 ‘.’ 的问题。在编辑文本中
原文由 JoeyRA 发布,翻译遵循 CC BY-SA 4.0 许可协议
3 回答849 阅读✓ 已解决
2 回答2.1k 阅读
2 回答966 阅读✓ 已解决
1 回答746 阅读✓ 已解决
2 回答865 阅读
2 回答801 阅读
1 回答744 阅读
试试这个:
来自代码:
但是,它允许用户包含多个“.”。有关实数,请参阅 JoeyRA 的回答。