EditText 文本内容输入限制
实现InputFilter过滤器,需要覆盖一个叫filter的方法。
public abstract CharSequence filter ( CharSequence source, int start, int end,Spanned dest, int dstart,int dend);
source, //输入的文字 start, //输入的文字 end, //结束位置
用键盘输入source则为单个字符,start为0,end为1;粘帖时source为一串字符。
dest, //当前显示的内容
dstart, //当前开始位置 dend //当前结束位置
<span style="font-family:Times New Roman;font-size:14px;">import android.text.Spanned; EditText editText2=(EditText) findViewById(R.id.editText2); editText2.setFilters(new InputFilter[]{ <span style="white-space:pre"> </span>new InputFilter.LengthFilter(5), <span style="white-space:pre"> </span>//最大能输入5个字符 <span style="white-space:pre"> </span>new InputFilter.AllCaps(), <span style="white-space:pre"> </span>//将所有输入的小写字母变成大写字母 <span style="white-space:pre"> </span>new InputFilter() { <span style="white-space:pre"> </span>//设置自己的filter <span style="white-space:pre"> </span>public CharSequence filter(CharSequence source, int start, int end, Spanned dst, int dstart, int dend) { <span style="white-space:pre"> </span>if("1".equals(source.toString())){ <span style="white-space:pre"> </span>return "一"; <span style="white-space:pre"> </span>}else if("2".equals(source.toString())){ <span style="white-space:pre"> </span>return "二"; <span style="white-space:pre"> </span>}else{ <span style="white-space:pre"> </span>return null; <span style="white-space:pre"> </span>} <span style="white-space:pre"> </span>} <span style="white-space:pre"> </span>} });</span>