Android中限定Edittext的输入内容

2016-12-20  本文已影响84人  Mr_冯先生

限定输入Edittext的内容为常用的价格(小数点后最多两位)

   /**
     * 限定价格为输入editText的输入条件
     *
     * @param s        editText在onTextChanged方法中的CharSequence s
     * @param editText 当前editMoney.isFocused()为true的editText控件
     */
    public static void edit(CharSequence s, EditText editText) {
        if (s.toString().contains(".")) {
            if (s.length() - 1 - s.toString().indexOf(".") > 2) {//小数点之后只能输入两位
                s = s.subSequence(0, s.toString().indexOf(".") + 3);
                editText.setText(s);
                editText.setSelection(s.length());
            }
        }
        if (s.length() > 0 && s.charAt(0) == '.') {//小数点前至少有一位
            editText.setText("0" + s);
            editText.setSelection(s.length() + 1);
        }
        if (s.length() > 1 && s.charAt(0) == '0' && s.charAt(1) != '.') {//大于1的数前面不能有0
            editText.setText(s.subSequence(1, s.length()));
            editText.setSelection(s.length() - 1);
        }
    }
上一篇下一篇

猜你喜欢

热点阅读