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";            }}    };}

更多相关文章

  1. 代码中设置drawableleft
  2. android 3.0 隐藏 系统标题栏
  3. Android开发中activity切换动画的实现
  4. Android(安卓)学习 笔记_05. 文件下载
  5. Android中直播视频技术探究之—摄像头Camera视频源数据采集解析
  6. 技术博客汇总
  7. android 2.3 wifi (一)
  8. AndRoid Notification的清空和修改
  9. Android中的Chronometer

随机推荐

  1. Android获取应用程序的信息
  2. android添加开机声音
  3. Android中的设计模式--建造者模式
  4. Android 打开系统蓝牙设置
  5. android项目源码异步加载远程图片的小例
  6. android 发送短信,彩信,邮件代码
  7. Android自定义属性,format详解
  8. android整合--屏幕旋转触发事件
  9. Android file.createNewFile方法问题总结
  10. 添加了android:configChanges="orientati