您的位置:首页 > 移动开发 > Android开发

android EditText 中的TextWatcher 限制小数点位数

2015-09-16 18:35 399 查看
需求要求:

不能在xml中配置android:inputType="number" android:digits="0123456789."

需要用代码实现,当用户输入多余的小数点时,默认什么都不输入

需求实现的具体代码

private class DoubleTextWatcher implements TextWatcher {
private EditText mEditText;
public DoubleTextWatcher(EditText e) {
mEditText=e;
}
public void beforeTextChanged(CharSequence s, int start, int count, int after) {
}
public void onTextChanged(CharSequence s, int start, int before, int count) {
}
@Override
//主要是重置文本改变事件,判断当前输入的内容
public void afterTextChanged(Editable s) {
// TODO Auto-generated method stub
String content = s == null ? null : s.toString();
if(s == null || s.length() == 0) {
return;
}
int size = content.length();
if(!content.endsWith(".")) { //最后输入的不是点,无需处理
return;
}
if(content.substring(0, size - 1).contains(".")) { //判断之前有没有输入过点
s.delete(size-1, size);//之前有输入过点,删除重复输入的点
}
}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: