2017-09-07 8 views
0

すべてのラジオボタンがチェックされていて、次のラジオボタンをクリックしたときにそのラジオボタンをチェックするだけです。使用しています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(); 
    } 


} 

これは、使用しているラジオボタンが1つの私のアイテム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> 

enter image description here

+0

リサイクラービューアに ''を置き、 ''を 'CardView'から削除しますか? –

答えて

0

その各カードビューには、独自のラジオグループを定義しているため。カードビューでラジオグループをネイティブにサポートしていない場合は、チェックしたときに他のビューのチェックを手動で解除するか、ラジオグループ内にカードビューリスト全体を入れることができます。

関連する問題