2014-09-28 66 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

相关问题