2

私はいくつかの編集テキストを持っていて、ユーザーから入力されたその中の文字列をチェックしています。ユーザーがダイアログの最後にあるボタンをクリックしたときに、一部の編集テキストが入力されていない場合は、背景色を変更して、次のようにテキストを設定します。

for(int i=0;i<fields.length;i++){
            if(fields[i].getText().toString().trim().length()<=0){
                redFields(fields[i]);
            }
        }
private void redFields(EditText t){
        t.setBackgroundColor(Color.RED);
        t.setText("FIELD REQUESTED!");
    }

ここで、ユーザーが赤い編集テキストをもう一度クリックすると、背景色を白に変更して、その中のテキストを削除したいと思います(FIELD REQUESTED)。私はこのようにそれをやろうとしています:

private void addFieldsListener(){
        for(EditText f : fields){
            final EditText ff = f;
            ff.setOnFocusChangeListener(new View.OnFocusChangeListener() {
                public void onFocusChange(View v, boolean hasFocus) {
                    if(hasFocus && ff.getBackground().equals(Color.RED)){
                        ff.setBackgroundColor(Color.WHITE);
                    }
                }
            });
        }
    }

しかし何も:(私は試してみましonClickListenerたが、うまくいきません。どうすればそれを行うことができますか?あなたは私を助けることができますか?

4

2 に答える 2

2

コンポーネントでメソッドSetError(...)を使用しないのはなぜですか?http://developer.android.com/reference/android/widget/TextView.html#setError%28java.lang.CharSequence%29EditText

于 2012-01-26T13:17:16.167 に答える
1

EditTextを使用しNine Patch Drawableます。このリンクをチェックして、既存のドローアブルを変更できます。

それが役に立てば幸い。

于 2012-03-26T11:14:51.773 に答える