RecyclerView实现单选模式
来源:互联网 发布:ps软件课程设计报告 编辑:程序博客网 时间:2024/05/20 08:21
今天项目中遇到列表单选,因为一直对RecyclerView情有独钟,所以打算也用这个控件写,下面是具体实现
RadioButton的样式请参考我的另一个博客 自定义RadioButton样式
xml中设置比较简单, 这里就不贴上代码了。
adapter 实现如下:
import com.goucai.user.R;import com.goucai.user.recyclerview.BaseQuickAdapter;import com.goucai.user.recyclerview.BaseViewHolder;import java.util.List;public class ReasonAdapter extends BaseQuickAdapter<String> { private BaseViewHolder holder; private int selPosition=0; public ReasonAdapter(int layoutResId, List<String> data) { super(layoutResId, data); } @Override protected void convert(BaseViewHolder helper, String item, int position) { holder=helper; helper.setText(R.id.item_reason_tips,item); if (selPosition==position) { helper.setChecked(R.id.item_reason_radio_btn,true); }else { helper.setChecked(R.id.item_reason_radio_btn,false); } } public BaseViewHolder getBaseViewHolder() { return holder; } public void setItemSel(int selPosition) { this.selPosition=selPosition; notifyDataSetChanged(); }}这里我继承的BaseQuickAdapter 具体使用方式请才能考[BaseQuickAdapter](http://www.jianshu.com/p/e730462138bd?nomobile=yes)这个adapter 中写了一个setItemSel方法,用来传如选择的item位置然后再convert 方法中使用判断。java代码实现只要在OnClickItemListener中调用setItemsel方法就可以了实现如下:
reasonRecyclerView.setLayoutManager(new LinearLayoutManager(this)); adapter = new ReasonAdapter(R.layout.item_cancel_reason_view, reasons); reasonRecyclerView.setAdapter(adapter);private void initEvent() { adapter.setOnRecyclerViewItemClickListener(new BaseQuickAdapter.OnRecyclerViewItemClickListener() { @Override public void onItemClick(View view, int position) { adapter.setItemSel(position); } });}
问题一:
点击列表中的RadioButton 失效
当我们把RaidoButton和RecyclerView或者ListVIew相结合的时候, 如果点击RadioButton则就不会出发onItemListener 解决方法如下:
在XML中添加如下属性
android:clickable="false"android:focusableInTouchMode="false"android:layout_alignParentRight="true"
因为RadioButtom的优先级高于Item的优先级。
如有疑问请加群 :195109527
0 0
- RecyclerView实现单选模式
- RecyclerView、ListView实现单选列表
- RecyclerView之CheckBox实现单选效果
- RecyclerView单选
- recyclerview item 单选
- Android 实现RecyclerView嵌套RecyclerView 实现购物车的全选 反选 单选 商家全选
- RecyclerView、ListView实现单选列表的优雅之路
- Android RecyclerView中实现ChecckBox单选的正确方式
- Android ViewPager+RecyclerView+StaggerLayoutManager瀑布流图片单选实现
- RecyclerView、ListView实现单选列表的优雅之路
- RecyclerView、ListView实现单选列表的优雅之路.
- ListView、RecyclerView CheckBox 单选实现,以及RecyclerView异步加载网络图片
- 关于Recyclerview 实现多选,单选,全选,反选,批量删除的功能的实现
- 单例模式实现
- 单例模式实现
- 实现单例模式
- 单例模式实现
- 单例模式实现
- 深入了解Java虚拟机
- 关于百度地图AndroidStudioDemo,Key验证失败
- sdutacm-数据结构实验之链表九:双向链表
- 4. Spring Boot 完美使用FastJson解析Json数据
- LintCode之栅栏染色
- RecyclerView实现单选模式
- 新台式机装win7+ubuntu双系统过程及问题记录
- loadrunner入门篇-Vuser发生器
- Mybatis和Hibernate的区别
- hdu 1072
- 自定义RadioButton样式
- PHP-给图片加水印
- Java设计模式之代理模式的分析
- sdutacm-3n+1数列问题