所以我想要的是一个非常简单的编辑文本,其输入类型编号或小数具有以下几个方面。
号码编辑文字:
您最多只能输入Long.MAX_VALUE
/ Long.MIN_VALUE
,因此我可以在不修改用户输入的情况下转换为long
。
数字十进制编辑文字
您只能输入可转换为double
的数字。
此外,我不需要使用BigDecimal或BigIntegers,我需要原始值。 最后,我知道这已经被问到了here,但这不是我想要的。有一些不同的要求。
答案 0 :(得分:1)
我设法使用扩展EditText
的自定义类,在构造函数中添加TextWatcher
。在afterTextChanged
方法中,它尝试将其转换为long。如果失败(NumberFormatException
),它会将数字设置为相应的最小/最大值(基于数字前缀处的“ - ”符号)。