数字Edittext

时间:2018-06-21 16:12:17

标签: android

我有一个EditText类型为android:inputType =“ numberDecimal”的观察者,在其上我更改了输出。 如果数字大于1000,则输出为1.000或2.000。

问题是我的文本查看器不会对“”做出反应。输入的输入已经有一个“。”时,软键盘的键。

在这种情况下,如何使它响应此事件的任何想法?

2 个答案:

答案 0 :(得分:0)

尝试一下...

在您的文本监视器中使用afterTextChange() ...

public void afterTextChanged(Editable view) {
    String s = null;
    try {
        s = String.format("%.d", Long.parseLong(view.toString()));
    } catch (NumberFormatException e) {
    }
}

答案 1 :(得分:0)

最终像这样解决了它:

editText.setKeyListener( new SomeClassDigitsKeyListener( false, true ) );

SomeClassDigitsKeyListener:

@Override
public CharSequence filter(CharSequence source, int start, int end,
                           Spanned dest, int dstart, int dend) {
    CharSequence out = super.filter(source, start, end, dest, dstart, dend);

    if (".".equals(source)) {
        return ",";
    }
    else {
        return out;
    }

}