emmmmmmm第一次写博客,也不知道咋写=。=,写的不好请见谅!最近项目里用到了列表的全选与单选功能(类似于商城购物车),因为之前没有写过,所以等于自己从零学了这个实现的方法(虽然过程是够费劲的。。。),想把这个过程分享给和我一样遇到类似问题的同学,让大家一起进步,大神就一笑带过吧,哈哈哈。。。。首先说一下我的实现思路吧,我是用的RecyclerView做列表,BaseRecyclerViewAdapterHelper作为Adapter库(个人觉得这个库特别好用~)RXJava作为列表与界面交互的介质
下面就开始贴代码啦!
/**
* 初始化RecyclerView
*/
private void initRecyclerView() {
recyclerView.setHasFixedSize(true);
recyclerView.setLayoutManager(new LinearLayoutManager(this));
}
/**
* 初始化Adapter
*/
private void initRecyclerViewAdapter() {
recyclerViewAdapter = new RecyclerViewAdapter(this, recyclerViewModeList);
recyclerView.setAdapter(recyclerViewAdapter);
}
/**
* 初始化数据
*/
private void initData() {
for (int i = 1; i <= 16; i++) {
RecyclerViewMode recyclerViewMode = new RecyclerViewMode();
recyclerViewMode.No = String.valueOf(i);
recyclerViewMode.name = i + "只绵羊";
recyclerViewMode.picUrl = "https://imgsa.baidu.com/forum/w%3D580%3B/sign=ca6fd4239a2397ddd679980c69b9b3b7/fcfaaf51f3deb48f23034c1afb1f3a292cf57888.jpg";
recyclerViewModeList.add(recyclerViewMode);
}
}
首先这里是数据以及控件的初始化操作,没啥说的~,接下来是Adapter。选中的状态我个人推荐是用两张图片,然后做图片的点击事件操作,而不是去用CheckBox,因为用CheckBox的setOnCheckedChangeListener()