我有一個列表視圖,其中我顯示文件和文件夾列表。 我用我的getView方法listview項目的滾動背景顏色變化,
static class ViewHolder {
protected TextView text1;
protected TextView text2;
}
@Override
public View getView(int position, View convertView, ViewGroup parent) {
ViewHolder viewHolder = null;
if(convertView == null){
LayoutInflater inflater = (LayoutInflater)context.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
convertView = inflater.inflate(R.layout.row, parent, false);
viewHolder = new ViewHolder();
viewHolder.text1 = (TextView) convertView.findViewById(R.id.text1);
viewHolder.text2 = (TextView) convertView.findViewById(R.id.text2);
convertView.setTag(viewHolder);
}
else{
viewHolder = (ViewHolder) convertView.getTag();
}
viewHolder.text1.setText(itemsArrayList.get(position).getFileName());
viewHolder.text2.setText(itemsArrayList.get(position).getSize());
<if(itemsArrayList.get(position).isHidden()) {
convertView.setBackgroundColor(context.getResources().getColor(R.color.hiddenColor));
}
return convertView;
}
如果文件/文件夾是隱藏的,我改變列表項的hiddenColor的背景顏色,
(默認的背景色是XML)
但在滾動它將幾乎所有的列表項目背景顏色設置爲隱藏顏色。
我知道這是由於listview回收,但不知道如何解決它。
檢查這個參考http://stackoverflow.com/questions/20611123/listview-subobject-clickable-confilct。點擊時更改文字和顏色。 – Raghunandan