我有一个EditText类型为android:inputType =“ numberDecimal”的观察者,在其上我更改了输出。 如果数字大于1000,则输出为1.000或2.000。
问题是我的文本查看器不会对“”做出反应。输入的输入已经有一个“。”时,软键盘的键。
在这种情况下,如何使它响应此事件的任何想法?
答案 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;
}
}