您的位置:首页 > 其它

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

2017-04-01 10:07 1406 查看
既然是做RecyclerView的item点击切换背景颜色  肯定要先创建出来 所以以上的步骤我就不在这里展示了
1.首先在drawable里 创建  selector
<?xml version="1.0" encoding="utf-8"?>
 
2.然后在RecyclerView 的子布局里 将背景颜色设置为  android:background="@drawable/listitem_selector"

empty<?xml version="1.0" encoding="utf-8"?>

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();
}}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: