仅在edittext中的小数后限制输入到特定字符(0,5)

时间:2014-03-19 06:53:24

标签: android decimal

我有一个Android应用程序,其中一个输入作为天。我已经成功地将小数后的输入数量限制为1。但我想要小数后只有0或5。因为天不能是1.3,它必须是1.5或1.0。我是android新手所以请解释逻辑。

代码是我限制的地方

public class DecimalDigitsInputFilter implements InputFilter {

        Pattern mPattern;

        public DecimalDigitsInputFilter(int digitsBeforeZero,int digitsAfterZero) {
            mPattern=Pattern.compile("[0-9]{0," + (digitsBeforeZero-1) + "}+((\\.[0-9]{0," + (digitsAfterZero-1) + "})?)||(\\.)?");
        }

        @Override
        public CharSequence filter(CharSequence source, int start, int end, Spanned dest, int dstart, int dend) {

                Matcher matcher=mPattern.matcher(dest);       
                if(!matcher.matches())
                    return "";
                return null;

我用它作为

txtLdays.setFilters(new InputFilter[] {new DecimalDigitsInputFilter(5,1)});

0 个答案:

没有答案