public class MaxTextLengthFilter implements InputFilter {    private int mMaxLength;    private boolean isNum;    private String note;    private String message = null;    /**     *     * @param max 支持的最大长度     * @param isNum 是不是数字     * @param note 超过后的提示     */    public MaxTextLengthFilter(int max, boolean isNum, String note) {        mMaxLength = max;        this.isNum = isNum;        this.note = note;    }    public MaxTextLengthFilter setMessage(String message) {        this.message = message;        return this;    }    public CharSequence filter(CharSequence source, int start, int end,                               Spanned dest, int dstart, int dend) {        int keep = mMaxLength - (dest.length() - (dend - dstart));        if (keep < (end - start)) {            if (TextUtils.isEmpty(message))                ToastUtils.showShortToast(String.format("%s最多%s位", note, mMaxLength));            else {                ToastUtils.showShortToast(message);            }        }        if (keep <= 0) {            return "";        } else if (keep >= end - start) {            if (isNum) {                int posDot = dest.toString().indexOf(".");                if (start < end && posDot > 0 && (dest.length() - posDot) > 2) {//小数点后要保留两位小数                    ToastUtils.showShortToast("小数点后只能输两位");                    return "";                }                if (start < end && posDot > 1 && dest.toString().equals("0.") && source.equals("0")) {//确保不会出现不是小数的第一位为0                    ToastUtils.showShortToast("请输入正确格式的金额");                    return "";                } else if (start < end && posDot < 0 && dest.toString().equals("0") && !source.equals(".")) {                    ToastUtils.showShortToast("请输入正确格式的金额");                    return "";                }            } else                return null;        } else            return source.subSequence(start, start + keep);        return null;    }}

更多相关文章

  1. android EditText输入金额,限制位数和显示小数点后几位
  2. android 金额输入限制,EditText保留两位小数
  3. Android 限制edittext 整数和小数位数 过滤器
  4. Android 保留两位小数点的4种方法
  5. DecimalFormat 实现保留小数点位数及四舍五入
  6. Android Edittext设置负数以及小数
  7. Android 浮点型当小数点后为0时自动去掉
  8. Android 限制EditText输入小数点后面位数
  9. android edittext 限制输入框小数位数

随机推荐

  1. android:动态获取权限
  2. Android 从网络加载图片
  3. Android开发之旅:深入分析布局文件
  4. Android多点触摸测试类
  5. Android情景模式、文件管理器 完整示例编
  6. Android sdk content loader 0% - mac
  7. Android二维码识别研究
  8. Mac下修改Android(安卓)Studio的默认JDK
  9. Android(安卓)简单动画中SurfaceView 的
  10. Android中带分割线的九宫格