大体实现思路:
使用相对布局,在recyclerview的item整体布局底层添加一个CheckBox,在adapter中引用一个Map标记选中CheckBox,然后在bandview中给CheckBox setOnCheckedChangeListener改变CheckBox背景、向Map中添加标记.
demo链接在文末.
具体实现:
1.activity:
RecyclerView recyclerview; Adapter mAdapter; StringBuffer buffer = new StringBuffer();//考虑到线程安全,此处使用StringBuffer boolean first = true; //判断,号的添加 //onCreatView中init LinearLayoutManager layoutManager = new LinearLayoutManager(this); layoutManager.setOrientation(layoutManager.VERTICAL); recyclerview.setLayoutManager(layoutManager); recyclerview.addItemDecoration(new SpaceItemDecoration(2)); mAdapter = new Adapter(context,list); recyclerview.setAdapter(mAdapter); //在需要用到recyclerview选中的数据时调用: setSelectedData(); //将选中条目添加到StringBuffer中 private void setSelectedData() { Map<Integer, Boolean> map = mAdapter.getCheckMap(); int count = mAdapter.getItemCount(); //int count = adpAdapt