• 如果您觉得本站非常有看点,那么赶紧使用Ctrl+D 收藏吧

如何从另一个项目更新recyclerview项目中的数据?

Android 来源:Mosa 4次浏览

我有RecyclerView一个问题,我有RecyclerView其在每一行项radio button和其他一些意见,如何从另一个项目更新recyclerview项目中的数据?

我想究竟是什么,当RadioButton由用户签我想取消其他RadioButton(如果任何东西都会被检查)。由于它是Recyclerview我不能使用radiogroup。

在适配器onBindViewHolder我写这篇文章侦听每个单选按钮

holder.radioButton.setOnClickListener(new View.OnClickListener() { 
     @Override 
     public void onClick(View v) { 
      selectedPosition = holder.getAdapterPosition(); 
      Toast.makeText(activity, "section: " + selectedPosition, Toast.LENGTH_SHORT).show(); 
     } 
    }); 

我怎样才能使一个单选按钮,选择取消选中?
换句话说,我如何更新另一个项目视图侦听器recyclerview特定项目中的视图属性?


===========解决方案如下:

您必须对将selectedItem参考在全球范围内的适配器,然后更新所有项目时,用户检查一个新的单选按钮。

public class Adapter extends RecyclerView.Adapter<Adapter.ViewHolder> { 
    private int selectedItemPosition = -1; 
} 

,做在你的适配器的onBindViewHolder()方法的东西,

@Override 
public void onBindViewHolder(final Adapter.ViewHolder holder, int position) { 
    holder.radioButton.setChecked(holder.getAdapterPosition()==selectedItemPosition); 
    holder.radioButton.setOnClickListener(new View.OnClickListener() { 
     @Override 
     public void onClick(View v) { 
      selectedItemPosition = holder.getAdapterPosition(); 
      notifyDataSetChanged(); 
     } 
    }); 
} 

版权声明:本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系管理员进行删除。
喜欢 (0)