Как настроить представление Edittext, разрешить только два числовых значения и два десятичных значения, например ##. ## - PullRequest
1 голос
/ 21 апреля 2011

Мне нужно установить валидацию для представления edittext, должно разрешить два числовых значения и два десятичных значения.пример: 22.32

Пожалуйста, дайте мне знать, как сделать эту проверку

Заранее спасибо

Ответы [ 2 ]

7 голосов
/ 21 апреля 2011

Попробуйте это. Я отстой в регулярное выражение, так что это может быть не лучшим, но попробовать.

    EditText text = new EditText(this);
    InputFilter[] filters = new InputFilter[1];
    filters[0] = new InputFilter() {
        public CharSequence filter(CharSequence source, int start, int end, Spanned dest, int dstart, int dend) {
            if (end > start) {
                String destTxt = dest.toString();
                String resultingTxt = destTxt.substring(0, dstart) + source.subSequence(start, end) + destTxt.substring(dend);
                if (!resultingTxt.matches("^\\d(\\d(\\.\\d{0,2})?)?")) {
                    return "";
                }
            }
        return null;
        }
    };
    text.setFilters(filters);
1 голос
/ 21 апреля 2011
boolean isValid=<EditText Variable>.getText().toString().matches("\\d{2}\\.\\d{2}");

Поместите этот метод в onClickListener, и я думаю, вам будет хорошо.

...