2014-09-28 37 views
1

我有一個ListView適配器Android的列表視圖 - GetView將更改應用於項目我不想

適配器=新ArrayAdapter(這一點,android.R.layout.simple_list_item_1,listItems中){

@Override 
      public View getView(int position, View convertView, ViewGroup parent) { 
       TextView tv = (TextView) super.getView(position, convertView, parent); 
       if(tv.getText().equals("TEXT1") || tv.getText().equals("TEXT2")) { 
        tv.setBackgroundColor(Color.parseColor("#FF0000")); 
       } 
       return tv; 
      } 
     }; 

我只想使用文本項:TEXT1和TEXT2來更改它們的背景。 沒有更多的項目。只有那些。但是當我滾動越來越多的項目時,他們的背景變化了,那些沒有文本TEXT1或TEXT2的項目。

我該如何做到這一點?

謝謝。

回答

1

,這是由於該ListView的回收機制:

來修復它,你可以「重啓」,背景色吧,如果後衛是假

if(tv.getText().equals("TEXT1") || tv.getText().equals("TEXT2")) { 
    tv.setBackgroundColor(Color.parseColor("#FF0000")); 
} else { 
    tv.setBackgroundColor(Color.parseColor(OTHERCOLOR)); 
} 
+0

難以置信。這實際上起作用。非常感謝! :) – iTakeHome 2014-09-28 15:03:20

+0

我會在4分鐘內接受它。再次感謝你:) – iTakeHome 2014-09-28 15:03:37

+0

不客氣 – Blackbelt 2014-09-28 15:04:18

相關問題