1

我有一个应用程序,其中有 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 类型”。不确定那是什么意思。

另外,我找不到任何好的例子。提供的任何帮助或示例将不胜感激。谢谢!

4

1 回答 1

2

type没有setError()方法CharSequence

请参阅TextView.setError(),你应该setError()在你的txtDislikes而不是source.

于 2012-09-28T01:11:57.860 回答