1
所以基本上,我有一個recyclerview有一個級別的列表。但本質上,我想某些項目有一個黑色的背景表明,他們還沒有鎖定(有點像視頻遊戲)如何更改某些物品在回收站內的視圖背景?
我目前的方法:
@Override
public void onBindViewHolder(BracketsAdapter.ViewHolder viewHolder, int position) {
// Get the data model based on position
Bracket bracket = bracketsList.get(position);
int color = UserPreferences.getInstance().getBracket();
// Set item views based on your views and data model
TextView textView = viewHolder.nameTextView;
textView.setText(bracket.toString());
Log.d("Bracket level", ""+bracket.getId());
if(color < bracket.getId()) {
textView.setBackgroundResource(R.color.black); // suggests level is locked
}
}
這種方法的問題,它是最初起作用的,但當我向下滾動並返回時,不應着色的物品最終被着色。爲什麼是這樣?有沒有更好的方式來實現這一點?
好的。我應該閱讀更多關於回收器視圖的工作原理。 – AeriaGlorisia