自己的项目中有一个需求:需要根据列表项的状态来动态觉得背景的颜色,这个需求看似简单,只要在adapter的getView中根据数据的状态来设置背景色即可,但是我在这么做的时候却得不到想要的结果,这里我设置了状态为“未检查”的不变色,“无问题”的设置为绿色,“有问题”的设置为黄色:
if(null==result||result.isEmpty()) {
holder.state.setText("[未检查]");
holder.modifyBtn.setVisibility(View.GONE);
}else if(goodcode.equals(result)){
holder.state.setText("[无问题]");
holder.modifyBtn.setVisibility(View.GONE);
holder.checkItem.setBackgroundColor(Color.GREEN);
}else {
holder.state.setText("[有问题]");
holder.modifyBtn.setVisibility(View.GONE);
holder.checkItem.setBackgroundColor(Color.YELLOW);
}
return convertView;
显示结果如下: