簡體   English   中英

Android:在RecyclerView中自定義一行

[英]Android: customize a single row in RecyclerView

我有一個像列表一樣的recyclerView,如何更改僅一個視圖的背景顏色? 我要更改顏色ID的項目是“ 1”,我考慮過通過ID將其添加到活動中並添加一個裝飾器,但我不知道如何操作,或者甚至不可能。

適配器內部:

 @Override
public void onBindViewHolder(ViewHolder holder, int position) {
    holder.setEventNameName(i + "");
    holder.settheColor(Color.parseColor("#000000"));

}

static int i;
class ViewHolder extends RecyclerView.ViewHolder{

    public TextView eventName;
    public RelativeLayout theLayout;

    public ViewHolder(final View itemView) {
        super(itemView);
        eventName = (TextView)itemView.findViewById(R.id.eventName);
        theLayout = (RelativeLayout)itemView.findViewById(R.id.backgroundevent);

        theLayout.setId(++i);

        theLayout.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                if (getAdapterPosition()>0){
                    removeItem(getAdapterPosition());
                }else {
                    addItem("");
                }
            }
        });

    }

    public void settheColor(int theColor){
        theLayout.setBackgroundColor(Color.parseColor(String.valueOf(theColor)));
    }

    public void setEventNameName(String TheEventName){
        eventName.setText(TheEventName);
    }

}

我覺得你可以這樣-

@Override
public void onBindViewHolder(MyViewHolder holder, int position) {
    currentListItem = List.get(position);
    if(position == 0) //this will let you know the first child item
    {
       holder.textview.setBackgroundColor(Color.RED);
    }   
}

希望這可以幫助!

非常簡單,使用適配器的onBindViewHolder方法,並更改視圖的顏色(應在ViewHolder中引用)

如果您不熟悉Recyclerview概念,請遵循此示例

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM