我是开发的新手,我刚刚开始进入艰巨的验证世界。到目前为止,我很容易并且仅用这两行就可以限制输入类型:android:inputType =“ phone” android:digits =“ 1234567890”。
现在,我想尝试阻止用户输入两位小数后的数字。我想我要么需要使用InputFilter要么使用onTextChange来检查其后的十进制和数字的使用(las,我也不知道我该怎么做)。我没有这方面的经验,而且我很难在网上找到我能理解的示例,如果有人可以告诉我从哪里开始,那将不胜感激,我认为我走在正确的道路上,但是我什至不知道我怎么去检查字符,更不用说限制它们了。欢迎任何答复,谢谢。
最佳答案
创建一个实现TextWatcher的类
class CurrencyFormatterTextWatcher类实现TextWatcher {
@Override
公共同步void afterTextChanged(可编辑文本){
// [...]在这里进行格式化;当心每个
//更改为text值将触发另一个textchanged事件
}
}
然后将其注册为您的目标EditText触发的textchanged事件的侦听器:
currencyFormatter =新的CurrencyFormatterTextWatcher();
currencyEditText.addTextChangedListener(currencyFormatter);
关于java - 如何自定义EditText Box以仅允许货币?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/4770907/