【发布时间】:2014-05-28 04:11:23
【问题描述】:
我想为我的编辑文本设置一个自动千位分隔符。 我用文本观察器做到了。在
public void afterTextChanged(Editable s)
我保存我的编辑文本的当前值,用它格式化
@Override
public void afterTextChanged(Editable s) {
InputField.this.removeTextChangedListener(this);
double tmp = getDoubleValue();
s.clear();
s.append(DecimalFormat.getInstance(Locale.GERMAN).format(tmp));
InputField.this.addTextChangedListener(this);
}
});
但是如果我清除可编辑项,我的 Galaxy Tab 中的键盘并不关心。它保留当前输入并用完整的数字填充编辑文本。一个简短的例子:
我输入“1”,键盘插入“1”,edittext显示“1”。
我输入“2”,键盘插入“12”,edittext显示“112”
我输入“3”,键盘插入“123”,edittext显示“112.123”
我按下删除按钮,键盘插入“12”,edittext显示“11.212.312”
我再次按下删除键,键盘插入“1”,edittext显示“112.123.121”
我的问题是: 如何禁用此键盘功能?
或者我怎样才能清理这个键盘“缓存”?
如果我使用输入类型“numberDecimal”,它可以工作,但我不能使用点作为千位分隔符(但在德国需要),因为它们将被解释为小数点并且只能有一个。
【问题讨论】:
标签: android android-edittext android-keypad