如何自定义EditText

如何自定义EditText

我是开发的新手,我刚刚开始进入艰巨的验证世界。到目前为止,我很容易并且仅用这两行就可以限制输入类型: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/

10-10 18:04