Как установить сообщение об ошибке, если пользователь ввел неправильный ввод в EditText?

У меня есть приложение, в котором есть поля EditText. Я установил валидацию для полей того, что должен ввести пользователь. Но я хочу установить сообщение об ошибке, если он вводит неправильный ввод, что я не уверен, как это сделать.

Это коды проверки для edittext

EditText txtDislikes = (EditText) findViewById(R.id.txtDislikes);
        txtDislikes.setHint("e.g. Skating, Photography separate by comma");
        txtDislikes.setFilters(new InputFilter[] {
                new InputFilter() {

                    @Override
                    public CharSequence filter(CharSequence source, int start,
                            int end, Spanned dest, int dstart, int dend)
                    {
                        if(source.equals(""))
                        {
                            return source;
                        }
                        if(source.toString().matches("[a-z A-Z -]+"))
                        {
                            return source;
                        }
                        return "";
                    }

                }
            });

Я пытался ввести source.setError("ONLY LETTERS ARE ALLOWED"); в

if(source.equals(""))
                        {
                            return source;
                        }
                        else
                        {
                            source.setError("ONLY LETTERS ARE ALLOWED");
                        }
                        if(source.toString().matches("[a-z A-Z -]+"))
                        {
                            return source;
                        }
                        else
                        {
                            source.setError("ONLY LETTERS ARE ALLOWED");
                        }
                        return "";

Но у меня ошибка говорит: "Метод setError(String) не определен для типа CharSequence". Не знаю, что это значит.

Кроме того, я не мог найти хороших примеров для этого. Будем очень признательны за любую помощь или предоставленные примеры. Спасибо!


person Preeyah    schedule 27.09.2012    source источник
comment
Проверьте это   -  person arshad kr    schedule 27.09.2012
comment
для CharSequence нет метода setError(). Вы должны делать txtDislikes.setError(), а не source.setError()   -  person Aprian    schedule 27.09.2012
comment
@Aprian, вы должны опубликовать это как ответ   -  person nandeesh    schedule 27.09.2012
comment
@Aprian, ооо, я понял, спасибо =)   -  person Preeyah    schedule 27.09.2012
comment
@nandeesh не был уверен, что это ответ, опубликую его сейчас.   -  person Aprian    schedule 28.09.2012


Ответы (1)


Для типа CharSequence нет метода setError().

См. TextView.setError(), вы должны setError() на своем txtDislikes вместо source.

person Aprian    schedule 28.09.2012