我有一个带有Radiobutton的RecyclerVIEw,我只想同时选择一个Radiobutton,但我的代码使它正常工作,但是当我从上到下重复选择时,选择消失了,我该如何解决它,谢谢.
private Radiobutton lastCheckedRB = null; @OverrIDepublic voID onBindVIEwHolder(final MyVIEwHolder holder, int position) { ContactUsModel contactUsModel = orderList.get(position); holder.orderNum.setText(contactUsModel.getorderNum()); holder.orderCost.setText(contactUsModel.getorderCost()); holder.radioGroup.setonCheckedchangelistener(new RadioGroup.OnCheckedchangelistener() { @OverrIDe public voID onCheckedChanged(RadioGroup group, @IDRes int checkedID) { Radiobutton checked_rb = (Radiobutton) group.findVIEwByID(checkedID); if (lastCheckedRB != null &&lastCheckedRB.isChecked()) { lastCheckedRB.setChecked(false); } //store the clicked radiobutton lastCheckedRB = checked_rb; } });
解决方法:
您可以这样做,使用Radiobutton我只写而不检查,但这对您来说是一个提示-
private Compoundbutton lastCheckedRB = null;@OverrIDepublic voID onBindVIEwHolder(final MyVIEwHolder holder, int position) { ContactUsModel contactUsModel = orderList.get(position); holder.orderNum.setText(contactUsModel.getorderNum()); holder.orderCost.setText(contactUsModel.getorderCost()); holder.readioBtn.setonCheckedchangelistener(ls); holder.readioBtn.setTag(position);}private OnCheckedchangelistener ls = (new Compoundbutton.OnCheckedchangelistener() { @OverrIDe public voID onCheckedChanged(Compoundbutton buttonVIEw, boolean isChecked) { int tag = (int) buttonVIEw.getTag(); ; if (lastCheckedRB == null) { lastCheckedRB = buttonVIEw; } else if (tag != (int) lastCheckedRB.getTag()) { lastCheckedRB.setChecked(false); lastCheckedRB = buttonVIEw; } }});
总结 以上是内存溢出为你收集整理的如何使用RecyclerView android只选择一个RadioButton?全部内容,希望文章能够帮你解决如何使用RecyclerView android只选择一个RadioButton?所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)