Try this out. I suck at regex so it may not be the best, but give it a try.
EditText text = new EditText(this);
InputFilter[] filters = new InputFilter[1];
filters[0] = new InputFilter() {
public CharSequence filter(CharSequence source, int start, int end, Spanned dest, int dstart, int dend) {
if (end > start) {
String destTxt = dest.toString();
String resultingTxt = destTxt.substring(0, dstart) + source.subSequence(start, end) + destTxt.substring(dend);
if (!resultingTxt.matches("^\d(\d(\.\d{0,2})?)?")) {
return "";
}
}
return null;
}
};
text.setFilters(filters);
与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…