第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

如何將背景顏色更改為 RecycleView 中的特定查看器項目?

如何將背景顏色更改為 RecycleView 中的特定查看器項目?

守著一只汪 2022-06-23 19:29:48
我正在嘗試更改 RecycleView 中特定項目的背景顏色。因為我也需要設(shè)置文本,所以我有以下代碼可以正常工作:protected void populateViewHolder(RankingViewHolder viewHolder, final Ranking model, int position) {    final Context mContext = getActivity().getApplicationContext();    viewHolder.txt_name.setText(model.getUserName());    viewHolder.txt_score.setText(String.valueOf(model.getScore()));    viewHolder.txt_class.setText(model.getUser_class());    Picasso.with(mContext).load(model.getAvatarUrl()).error(R.drawable.ic_people_black_24dp).into(viewHolder.personPhoto);    int totalRanking = adapter.getItemCount();    int realRank = totalRanking - viewHolder.getAdapterPosition();    viewHolder.ranknumber.setText("# "+String.valueOf(realRank));}這可以按我的意愿工作并realRank采用正確的值,并且viewHolder.ranknumber.setText("# "+String.valueOf(realRank));設(shè)置正確的文本沒有問題?,F(xiàn)在我正在嘗試(因為我得到了正確的數(shù)字/文本結(jié)果,所以做出這樣的 if 語句:if(adapter.getItemCount() -viewHolder.getAdapterPosition() == 0){    viewHolder.itemView.setBackgroundColor(Color.GREEN);}if(adapter.getItemCount() -viewHolder.getAdapterPosition() == 1){    viewHolder.itemView.setBackgroundColor(Color.YELLOW);}if(adapter.getItemCount() -viewHolder.getAdapterPosition() == 2){    viewHolder.itemView.setBackgroundColor(Color.BLUE);}(我嘗試了String.valueOf(realRank)平等,realRank也嘗試了平等)在所有情況下,我都有相同的結(jié)果。顏色在位置 1、2、3 應發(fā)生變化,但在 7、8、9 和 14、15、16 和 21、22、23 等位置發(fā)生變化。我在這里想念什么?public class RankingViewHolder extends RecyclerView.ViewHolder implements View.OnClickListener {    private ItemClickListener itemClickListener;    public TextView txt_name, txt_score, txt_class, ranknumber;    public ImageView personPhoto;這行代碼int realRank = totalRanking - viewHolder.getAdapterPosition();給出了一個數(shù)字(1、2、3、4、5、6 等)。為什么我不能用這個數(shù)字來檢查相等性?這會改變顏色,但不僅僅是 3 個第一個項目。當您向下滾動時,每 3 個第一個可查看項目的顏色會像以前一樣更改,即 1、2、3、7、8、9 等。
查看完整描述

3 回答

?
蝴蝶刀刀

TA貢獻1801條經(jīng)驗 獲得超8個贊

嘗試將它添加到您的適配器中,它可能會解決您的問題。


@Override

    public int getItemViewType(int position) {

        return position;

    }


查看完整回答
反對 回復 2022-06-23
?
慕的地8271018

TA貢獻1796條經(jīng)驗 獲得超4個贊

請試一試


在您的自定義適配器中覆蓋


@Override

public long getItemId(int position) {

    return position;

}

并在您的適配器對象中:


myAdapter.setHasStableIds(true);


查看完整回答
反對 回復 2022-06-23
?
紫衣仙女

TA貢獻1839條經(jīng)驗 獲得超15個贊

在populateViewHolder添加這些代碼行


if(position == 0){

  viewHolder.itemView.setBackgroundColor(Color.GREEN);

}

else if(position == 1){

  viewHolder.itemView.setBackgroundColor(Color.YELLOW);

}

else if(position == 2){

  viewHolder.itemView.setBackgroundColor(Color.BLUE);

}

else{

  viewHolder.itemView.setBackgroundColor(Color.WHITE);

}

position 是 中的一個參數(shù)populateViewHolder。


查看完整回答
反對 回復 2022-06-23
  • 3 回答
  • 0 關(guān)注
  • 114 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學習伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號