2012-01-26 41 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)。 我試圖做這樣:?

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,但它不工作,我怎麼能做到這一點你能幫助我

+0

你正在排隊。 getBackground()返回一個drawable。您正在比較可繪製的顏色...請檢查此。 – Arslan

回答

1

EditText使用Nine Patch Drawable,您可以檢查此link修改現有的繪製。

希望它有幫助。