2 回答

TA貢獻1801條經(jīng)驗 獲得超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 將重用單元格,并且需要更改的任何內(nèi)容(文本、值、顏色)都需要也重新申請
編輯:只是為了澄清 - 如果您更改 getView() 方法以便您只為viewHolder 對象在 if/else 語句中,然后在下面更改視圖本身所需的所有值,它最終會變得更清晰、更易于閱讀

TA貢獻1856條經(jīng)驗 獲得超5個贊
如果您的項目為空,如何更改它的顏色或如何檢查它?
null 為空。
您應(yīng)該檢查 Null 以確保崩潰的安全性而不改變顏色。如果您想更改顏色,您應(yīng)該從數(shù)據(jù)庫中獲取一個特定字段,該字段顯示此列中沒有值或為空。然后你可以檢查它的顏色
添加回答
舉報