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 //当前结束位置
import android.text.Spanned; EditText editText2=(EditText) findViewById(R.id.editText2); editText2.setFilters(new InputFilter[]{ new InputFilter.LengthFilter(5), //最大能输入5个字符 new InputFilter.AllCaps(), //将所有输入的小写字母变成大写字母 new InputFilter() { //设置自己的filter public CharSequence filter(CharSequence source, int start, int end, Spanned dst, int dstart, int dend) { if("1".equals(source.toString())){ return "一"; }else if("2".equals(source.toString())){ return "二"; }else{ return null; } } }});