2012-01-26 10 views
2

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

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!"); 
    } 

ユーザーが赤のEditTextで再度クリックしたときに、今私が欲しいです背景色を白に変更し、その中のテキストを削除します(FIELD REQUESTED)。 私はこの方法でそれをやろうとしている:どのように私はそれを行うことができます

私は onClickListenerと試みるが、それは動作しません:(
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); 
        } 
       } 
      }); 
     } 
    } 

何もあなたは私を助けることができる

+0

あなたは行を取得しています。 getBackground()はドロウアブルを返します。 drawableと色を比較しています...これを確認してください。 – Arslan

答えて

1

EditTextNine Patch Drawableを使用しています。あなたは、既存の描画可能を変更するには、このlinkを確認することができます。

希望します。

関連する問題