Android radiogroup处理了回收器视图适配器内部radiobutton的选择
我正在尝试做一个RecyclerView,每个recyclerItem有3个单选按钮。一旦我选择了其中一个,我想得到与单选按钮选择一致的对象。我的适配器在下面。。。当我点击单选按钮时,什么也没发生。似乎永远不会传递一次检查更改的方法。。。我做错了什么?如何处理radioLike.OnCheckedChangeListener?还是说BindViewHolder方法缺少什么Android radiogroup处理了回收器视图适配器内部radiobutton的选择,android,Android,我正在尝试做一个RecyclerView,每个recyclerItem有3个单选按钮。一旦我选择了其中一个,我想得到与单选按钮选择一致的对象。我的适配器在下面。。。当我点击单选按钮时,什么也没发生。似乎永远不会传递一次检查更改的方法。。。我做错了什么?如何处理radioLike.OnCheckedChangeListener?还是说BindViewHolder方法缺少什么 public class LikeListAdapter extends RecyclerView.Adapter<L
public class LikeListAdapter extends RecyclerView.Adapter<LikeListAdapter.LikeItemViewHolder> {
private List<Goals> goalsList;
public LikeListAdapter(List<Goals> goalsList) {
this.goalsList = goalsList;
}
@Override
public LikeItemViewHolder onCreateViewHolder(ViewGroup parent, int viewType) {
Context context = parent.getContext();
LayoutInflater inflater = LayoutInflater.from(context);
View view = inflater.inflate(R.layout.recycler_item_like, parent, false);
return new LikeItemViewHolder(view);
}
@Override
public void onBindViewHolder(LikeItemViewHolder holder, int position) {
Goals goals = goalsList.get(position);
if (goals != null && getItemCount() > 0) {
holder.goalsDescriptionTextView.setText(goals.getDescription());
}
}
@Override
public int getItemCount() {
return goalsList.size();
}
public class LikeItemViewHolder extends RecyclerView.ViewHolder implements RadioGroup.OnCheckedChangeListener {
@Bind(R.id.description_goalsTextView)
TextView goalsDescriptionTextView;
@Bind(R.id.happy_radio)
RadioButton happyRadioButton;
@Bind(R.id.soso_radio)
RadioButton sosoRadioButton;
@Bind(R.id.angry_radio)
RadioButton angryRadioButton;
@Bind(R.id.radio_like)
RadioGroup radioLike;
public LikeItemViewHolder(View itemView) {
super(itemView);
ButterKnife.bind(this, itemView);
radioLike.setOnCheckedChangeListener(this); ???
}
@Override
public void onCheckedChanged(RadioGroup group, int checkedId) {
Log.e("group","" + group);
Log.e("checkedId","" + checkedId);
switch (group.getId()) {
case (R.id.happy_radio):
Log.e("aqui", "happy");
break;
case (R.id.soso_radio):
Log.e("aqui", "soso");
break;
case (R.id.angry_radio):
Log.e("aqui", "angry");
break;
}
}
}
}
我想你想要哪个单选按钮
public class LikeItemViewHolder extends RecyclerView.ViewHolder implements CompoundButton.OnCheckedChangeListener {
.......
happyRadioButton.setOnCheckedChangeListener(this);
sosoRadioButton.setOnCheckedChangeListener(this);
angryRadioButton.setOnCheckedChangeListener(this);
@Override
public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {
switch (buttonView.getId()) {
case (R.id.happy_radio):
Log.e("aqui", "happy");
break;
case (R.id.soso_radio):
Log.e("aqui", "soso");
break;
case (R.id.angry_radio):
Log.e("aqui", "angry");
break;
}
}
有什么问题吗?有错误吗?如果是这样的话,你的问题应该包括错误或者你期望得到什么以及你得到了什么。我很抱歉,我会尽量说得更清楚更具体!!!这是我第一次来这里\o/I编辑了我的问题。您能帮我吗?正如您所料,group.getId返回组id