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

setError()type のメソッドはありませんCharSequence

TextView.setError()を参照しsetError()てください。txtDislikessource

于 2012-09-28T01:11:57.860 に答える