我想限制我的应用程序的用户在 EditText 中输入值。值应如下所示:3/54/32
第一个数字:0..13 中间数字:0..7 最后一个数字:0..255
斜线应该在 EditText 中显示修复!
我已经有一个 IP 地址的 InputFilter,但我不明白它...... ;-)
//Use a input filter for the input of the IP address
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{1,3}(\\.(\\d{1,3}(\\.(\\d{1,3}(\\.(\\d{1,3})?)?)?)?)?)?")) {
return "";
} else {
String[] splits = resultingTxt.split("\\.");
for (int i=0; i<splits.length; i++) {
if (Integer.valueOf(splits[i]) > 255) {
return "";
}
}
}
}
return null;
}
};
et_router_ip.setFilters(filters);
如果有人可以帮助我,那就太好了!