RecyclerView点击当前item改变 背景颜色


既然是做RecyclerView的item点击切换背景颜色  肯定要先创建出来 所以以上的步骤我就不在这里展示了
1.首先在drawable里 创建  selector

 
2.然后在RecyclerView 的子布局里 将背景颜色设置为  android:background="@drawable/listitem_selector"
empty
3.在Bean类里定义一个标记 用来储存当前状态
empty       private String cat_name;
            private String id;
            private String is_leaf;
            private List children;
            private boolean isFlag;

            public boolean isFlag() {
                return isFlag;
            }

            public void setFlag(boolean flag) {
                isFlag = flag;
            }
4.在点击事件里写逻辑判断
    @Override
    public void onBindViewHolder(ViewHolder1 holder, final int position) {
        mholder = (ViewHolder1) holder;
        holder.view_1.setText(categorylist.get(position).getCat_name());
        if(categorylist.get(position).isFlag()){
            holder.ll.setSelected(true);
        }else {
            holder.ll.setSelected(false);
        }}

因为是用RecyclerView做的接口回调点击 相信用过的RecyclerView的朋友 都能看出是怎么回事


                @Override
                public void setOnItemClick(int position) {
                    for (int i = 0; i < categorylist.size(); i++) {
                        if(i==position){
                            categorylist.get(i).setFlag(true);}else {
                            categorylist.get(i).setFlag(false);}
                        adaptera.notifyDataSetChanged();
                    }}



                @Override
                public void setOnItemClick(int position) {
                    for (int i = 0; i < categorylist.size(); i++) {
                        if(i==position){
                            categorylist.get(i).setFlag(true);}else {
                            categorylist.get(i).setFlag(false);}
                        adaptera.notifyDataSetChanged();
                    }}

你可能感兴趣的:(RecyclerView点击当前item改变 背景颜色)