小弟我给EditText 加了个TextWatcher ,要自已在TextWatcher里写代码判断小数点只允许输入一次,想不出来代码,求高手写下多谢!

我给EditText 加了个TextWatcher ,要自已在TextWatcher里写代码判断小数点只允许输入一次,想不出来代码,求高手写下谢谢!!
不能用android:inputType="number"  android:digits="0123456789."
只能自己在DoubleTextWatcher 里写代码,只允许用户输入一次小数点,重复输入小数点,就当什么也没输入的代码.


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) {
    }
    public void afterTextChanged(Editable s) {     
     }
}

------解决思路----------------------
判断当获取到第一个小数点的时候,动态设置android:digits

EditText mEditText = (EditText)findViewById(R.id.MyEditText);
String digits = "0123456789";
mEditText.setKeyListener(DigitsKeyListener.getInstance(digits));   

未验证,楼主可以试试
------解决思路----------------------
想法比较简单,应该能用
@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);//之前有输入过点,删除重复输入的点
}
}