首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 移动开发 > Android >

android下文本框输入限制最大字节数

2012-08-21 
android上文本框输入限制最大字节数public class MaxByteLengthEditText extends EditText {private int m

android上文本框输入限制最大字节数

public class MaxByteLengthEditText extends EditText {private int maxByteLength = 100;private String encoding = "GBK";public MaxByteLengthEditText(Context context) {super(context);init();}public MaxByteLengthEditText(Context context,AttributeSet attrs) {  super(context,attrs);init();}private void init() {setFilters(new InputFilter[] {inputFilter});}public int getMaxByteLength() {return maxByteLength;}public void setMaxByteLength(int maxByteLength) {this.maxByteLength = maxByteLength;}public String getEncoding() {return encoding;}public void setEncoding(String encoding) {this.encoding = encoding;}/** * input输入过滤 */private InputFilter inputFilter = new InputFilter() {@Overridepublic CharSequence filter(CharSequence source, int start, int end,Spanned dest, int dstart, int dend) {            try {            int len = 0;            boolean more = false;            do {            SpannableStringBuilder builder =             new SpannableStringBuilder(dest).replace(dstart, dend, source.subSequence(start, end));                    len = builder.toString().getBytes(encoding).length;                    more = len > maxByteLength;                    if (more) {                    end--;                    source = source.subSequence(start, end);                    }            } while (more);                return source;            } catch (UnsupportedEncodingException e) {            return "Exception";            }}    };}

热点排行
Bad Request.