RecycleView 单选 以及多选单选互斥两种状态 和多选 ![在这里插入图片描述](https://img-blog.csdnimg.cn/20190721111508473.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L2J4bGxvdmU=,size_16,color_FFFFFF,t_70


package com.example.beey;import android.os.Bundle;import android.view.View;import android.widget.Button;import androidx.appcompat.app.AppCompatActivity;import androidx.recyclerview.widget.LinearLayoutManager;import androidx.recyclerview.widget.RecyclerView;import com.chad.library.adapter.base.BaseQuickAdapter;import com.example.beey.Ada;import com.example.beey.R;import java.util.ArrayList;import java.util.HashMap;import java.util.List;import java.util.Map;public class MainActivity extends AppCompatActivity {    private RecyclerView mRe;    Listmlist=new ArrayList<>();    Map map=new HashMap<>();    private Ada adddd;    private String string="單選互斥";    @Override    protected void onCreate(Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        setContentView(R.layout.activity_main);        Button button1 = findViewById(R.id.button1);        Button button2= findViewById(R.id.button2);        Button button3= findViewById(R.id.button3);        mRe= findViewById(R.id.rec);        button1.setOnClickListener(new View.OnClickListener() {            @Override            public void onClick(View v) {                adddd.setModel("單選互斥");                string="單選互斥";            }        });        button2.setOnClickListener(new View.OnClickListener() {            @Override            public void onClick(View v) {                adddd.setModel("單選");                string="單選";            }        });        button3.setOnClickListener(new View.OnClickListener() {            @Override            public void onClick(View v) {                adddd.setModel("多選");                string="多選";            }        });        for (int i = 0; i <10 ; i++) {            mlist.add(i+"//");            map.put(i,false);        }        mRe.setLayoutManager(new LinearLayoutManager(this));        adddd = new Ada(map,mlist);        mRe.setAdapter(adddd);        adddd.setOnItemClickListener(new BaseQuickAdapter.OnItemClickListener() {            @Override            public void onItemClick(BaseQuickAdapter adapter, View view, int position) {                switch (string){                    case "單選":                    case "單選互斥":                        adddd.getindex(position);                        break;                    case "多選":                        if(map.get(position)==false){                            map.put(position,true);                        }else {                            map.put(position,false);                        }                        break;                }                adddd.notifyDataSetChanged();            }        });    }}
package com.example.beey;import android.annotation.SuppressLint;import android.graphics.Color;import android.widget.TextView;import androidx.annotation.Nullable;import com.chad.library.adapter.base.BaseQuickAdapter;import com.chad.library.adapter.base.BaseViewHolder;import com.example.beey.R;import java.util.List;import java.util.Map;public class Ada extends BaseQuickAdapter {    Map map;    public Ada(Map map, @Nullable List data) {        super(R.layout.activity_mn, data);        this.map = map;    }    @SuppressLint("ResourceAsColor")    @Override    protected void convert(BaseViewHolder helper, String item) {        TextView d = helper.getView(R.id.dd);        switch (stype){            case "單選互斥":                if (helper.getLayoutPosition() == index) {                    if (map.get(index) == false) {                        map.put(index, true);                        d.setBackgroundColor(Color.parseColor("#eeccff"));                    } else {                        map.put(index, false);                        d.setBackgroundColor(Color.parseColor("#cceecc"));                    }                } else {                    map.put(helper.getLayoutPosition(), false);                    d.setBackgroundColor(Color.parseColor("#cceecc"));                }                break;            case "單選":                if (helper.getLayoutPosition() == index) {                    d.setBackgroundColor(Color.parseColor("#eeccff"));                } else {                    d.setBackgroundColor(Color.parseColor("#cceecc"));                }                break;            case "多選":                if (map.get(helper.getLayoutPosition()) == false) {                    d.setBackgroundColor(Color.parseColor("#eeccff"));                } else {                    d.setBackgroundColor(Color.parseColor("#cceecc"));                }                break;        }    }    //單選兩種狀態 互斥    private int index;    public void getindex(int index) {        this.index = index;    }    private String stype="def";    public void setModel(String stype) {        this.stype = stype;        notifyDataSetChanged();    }}

下载链接地址
https://download.csdn.net/download/bxllove/11390877

更多相关文章

  1. 修改ExpandableListView前面展开小图标
  2. 【Android】Android开源项目分类汇总
  3. Cocos2d-x12和NDK-r8编译android
  4. GitHub 上一些优秀的 Android(安卓)开源项目
  5. Android(安卓)图文数据JSON解析,金山词霸每日一句API的调用
  6. android CallCard.java/updateState(Phone phone)分析
  7. android实时监听网络状态并在断网的情况下打开网络设置
  8. Android状态栏微技巧(推荐)
  9. android解决FragmentStatePagerAdapter 造成重新绘制fragment状

随机推荐

  1. Android(安卓)blueZ HCI(一):hciconfig实现
  2. Android(安卓)Glide4.0以上版本保存Gif文
  3. 解决android8以上Only fullscreen opaque
  4. React Native开发和调试工具
  5. Android(安卓)AudioSystem模块分析
  6. GA android shutting down vm
  7. Android(安卓)WebView加载Html文本不能适
  8. android 学习笔记(1)
  9. Android的Http网络请求模型初步
  10. android外包公司—技术分享:Android开发环