Есть ли способ создать новый тип ввода в Android редактировать текст? - PullRequest
0 голосов
/ 09 мая 2019

Я хотел знать, есть ли способ создать свой собственный тип ввода, который будет использоваться в вашем тексте редактирования.Как, например, я хочу заставить пользователя вводить цифры от 1 до 5, поэтому тип ввода «число» не соответствует желаемому, и я хотел бы создать новый тип ввода, который будет «число_1_5»и только разрешить пользователю добавлять число от 1 до 5.

Я искал в документах Android и в Интернете, но ничего не нашел: (

Спасибо за вашу помощь!

1 Ответ

1 голос
/ 09 мая 2019

Используйте с InputFilter для этой цели:

 InputFilter filter= new InputFilter() {

    public CharSequence filter(CharSequence source, int start, int end, Spanned dest, int dstart, int dend) { 
        for (int i = start; i < end; i++) { 
            String checkMe = String.valueOf(source.charAt(i));

            Pattern pattern = Pattern.compile("[12345]*");
            Matcher matcher = pattern.matcher(checkMe);
            boolean valid = matcher.matches();
            if(!valid){
                Log.d("", "invalid");
                return "";
            }
        } 
        return null; 
    } 
};

mEditText.setFilters(new InputFilter[]{filter});
...