在今天的项目中遇到了裁员收音机,但是一直很留恋RecyclerView,所以也打算用这个控件来写。 具体安装如下所示
RadioButton的风格请参考我的其他博客来定制RadioButton的风格
xml中设置很简单,所以这里不贴代码。
adapter实现以下:
import com.goucai.user.R;
import com.Gou Cai.user.recycler view.basequickadapter;
import com.Gou Cai.user.recycler view.baseviewholder;
import java.util.List;
publicclassreasonadapterextendsbasequickadapter {
隐私基础支持器;
私密int sel position=0;
publicreasonadapter (intlayoutresid,列表数据) )。
super (布局resid,数据);
}
@Override
保护性语音转换(baseviewholderhelper,String item,int position ) {
holder=helper;
helper.settext (r.id.item _ reason _ tips,item );
if (selPosition==position )
{
helper.set checked (r.id.item _ reason _ radio _ BTN,true );
}else
{
helper.set checked (r.id.item _ reason _ radio _ BTN,false );
}
}
publicbaseviewholdergetbaseviewholder (
{
返回保持器;
}
publicvoidsetitemsel ((intselposition ) ) ) ) ) ) ) ) )。
{
this.selPosition=selPosition;
通告数据交换(;
}
}这里我继承的BaseQuickAdapter的具体使用方法是: [ basequickadapter ] (http://www.Jian Shu.com/p/e 730462138 BD? nomobile=yes (此适配器包含一个setItemSel方法,用于传递选定item的位置,然后在convert方法中使用判断。 只要在OnClickItemListener中调用setItemsel方法,就可以按如下方式实现java代码的实现:
reasonrecyclerview.setlayoutmanager (newlinearlayoutmanager (this ) );
adapter=newreasonadapter (r.layout.item _ cancel _ reason _ view,reasons );
reasonrecyclerview.set adapter (adapter );
私密void导入事件
adapter.setonrecyclerviewitemclicklistener (newbasequickadapter.onrecyclerviewitemclicklistener ) {
@Override
publicvoidonitemclick (查看视图,int位置) {
adapter.setitemsel(position;
}
);
}
问题1 :
单击列表中的RadioButton将其禁用
当RaidoButton与RecyclerView或ListVIew结合使用时,单击RadioButton后,onItemListener解决方案如下:
在XML中添加以下属性
android:clickable='false '
安卓: focusableintouchmode=' false '
Android : layout _ alignparentright=' true '
因为RadioButtom的优先级高于Item的优先级。
如果您有问题,请添加组: 195109527