2 回答

TA贡献1801条经验 获得超8个赞
放
if(holder.structureID.isEmpty(){
view.findViewById(R.id.structureID).setBackgroundColor(Color.parseColor("#CFD8DC")); //light gray
} else {
view.findViewById(R.id.structureID).setBackgroundColor(Color.parseColor("#FDFDE9")); //light yellow
}
在 if(view == null) 之外并进入 else 块,以便在重绘时获得更改,因为 recyclerview 将重用单元格,并且需要更改的任何内容(文本、值、颜色)都需要也重新申请
编辑:只是为了澄清 - 如果您更改 getView() 方法以便您只为viewHolder 对象在 if/else 语句中,然后在下面更改视图本身所需的所有值,它最终会变得更清晰、更易于阅读

TA贡献1856条经验 获得超5个赞
如果您的项目为空,如何更改它的颜色或如何检查它?
null 为空。
您应该检查 Null 以确保崩溃的安全性而不改变颜色。如果您想更改颜色,您应该从数据库中获取一个特定字段,该字段显示此列中没有值或为空。然后你可以检查它的颜色
添加回答
举报