如何自定义EditText Box以允许货币?

时间:2011-01-22 22:01:01

标签: java android validation input currency

我是开发新手,我刚刚开始进入令人生畏的验证世界。到目前为止,我已经很容易并且能够使用以下两行限制输入类型: android:inputType =“phone”android:digits =“1234567890。”

现在我想尝试阻止我的用户输入超过两位小数的数字。我想我要么需要使用 InputFilter或使用onTextChange 来检查小数和数字的使用(唉,我不知道我将如何去做)。我没有任何经验,我很难在网上找到我能理解的例子,如果有人能告诉我从哪里开始那将是非常感激的,我想我是在正确的轨道但是我甚至不确定如何检查字符,更不用说限制它们了。欢迎任何答案,谢谢。

1 个答案:

答案 0 :(得分:2)

创建一个实现TextWatcher

的类
class CurrencyFormatterTextWatcher implements TextWatcher {

   @Override
   public synchronized void afterTextChanged(Editable text) {
        // [...] do your formatting here; beware that each 
        // change to the text value will fire another textchanged event
   }
}

然后将其注册为您的目标EditText:

触发的textchanged事件的侦听器
currencyFormatter = new CurrencyFormatterTextWatcher();
currencyEditText.addTextChangedListener(currencyFormatter);