正在检查所有单选按钮,我只想在单击下一个按钮时检查一个按钮,取消选中其他按钮。我正在使用recyclerview 当我点击下一个时,我怎么能取消选中其他人。 ?
这是我的适配器。
import java.util.List;
/**
* Created by Alex Boey on 8/1/2016.
*/
public class AllAccountsAdapter extends RecyclerView.Adapter<AllAccountsAdapter.ViewHolder> {
private Context context;
private List<AllAccount> mList;
public AllAccountsAdapter(Context context , List<AllAccount> mList){
this.context = context;
this.mList =mList;
}
public class ViewHolder extends RecyclerView.ViewHolder{
RadioButton account_no;
public ViewHolder(View itemView) {
super(itemView);
account_no = (RadioButton) itemView.findViewById(R.id.account_no);
}
}
@Override
public ViewHolder onCreateViewHolder(ViewGroup parent, int viewType) {
View view = LayoutInflater.from(parent.getContext())
.inflate(R.layout.item_all_account ,parent , false);
ViewHolder vh = new ViewHolder(view);
return vh;
}
@Override
public void onBindViewHolder(final ViewHolder holder, final int position) {
final AllAccount list=mList.get(position);
holder.account_no.setText(list.getAccountNumber());
holder.account_no.setChecked(false);
holder.account_no.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() {
@Override
public void onCheckedChanged(CompoundButton compoundButton, boolean b) {
if(context instanceof MyAccount){
((MyAccount)context).onRefresh(list.getAccountNumber());
}
}
});
}
@Override
public int getItemCount() {
return mList.size();
}
}
这是我的项目xml,带有一个正在使用的单选按钮。
<?xml version="1.0" encoding="utf-8"?>
<android.support.v7.widget.CardView android:id="@+id/clickable"
android:clickable="true"
android:foreground="?android:attr/selectableItemBackground"
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:card_view="http://schemas.android.com/apk/res-auto"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
card_view:cardUseCompatPadding="true"
card_view:cardCornerRadius="3dp"
xmlns:app="http://schemas.android.com/apk/res-auto">
<RadioGroup
android:layout_width="match_parent"
android:layout_height="wrap_content">
<RadioButton
android:textColor="@color/theme_color_primary_dark"
android:padding="10dp"
android:id="@+id/account_no"
android:text="@string/accept"
android:layout_gravity="center"
style="@style/Widget.AppCompat.CompoundButton.RadioButton"
android:layout_width="match_parent"
android:layout_height="wrap_content"
>
</RadioButton>
</RadioGroup>
</android.support.v7.widget.CardView>
答案 0 :(得分:0)
因为每张卡片视图都定义了自己的无线电组。对于卡片视图中的无线电组没有本机支持,您必须在选中其中任何一个时手动取消选中其他视图,或者您可以尝试将整个卡片组列表内容放入广播组中