Java RecyclerView上的不同单选按钮选择两次
我正在制作一个应用程序,根据课程从不同选项中选择时间表。为此,我制作了一个包含课程的微调器,并将其加载到一个回收器上查看时间表。在recyclerview里,我有一个单选按钮,上面有一个时间表作为文本。问题是当我第三次尝试选择一个按钮时,因为它选择了两个按钮 这里有一个演示它是如何工作的。 我的适配器: 公共类HorariosAdapter扩展了RecyclerView.Adapter{ 谢谢你的帮助Java RecyclerView上的不同单选按钮选择两次,java,android,Java,Android,我正在制作一个应用程序,根据课程从不同选项中选择时间表。为此,我制作了一个包含课程的微调器,并将其加载到一个回收器上查看时间表。在recyclerview里,我有一个单选按钮,上面有一个时间表作为文本。问题是当我第三次尝试选择一个按钮时,因为它选择了两个按钮 这里有一个演示它是如何工作的。 我的适配器: 公共类HorariosAdapter扩展了RecyclerView.Adapter{ 谢谢你的帮助 ArrayList<String> listaHorarios; public
ArrayList<String> listaHorarios;
public HorariosAdapter(ArrayList<String> listaHorarios) {
this.listaHorarios = listaHorarios;
}
@NonNull
@Override
public HorariosAdapter.ViewHolderHorarios onCreateViewHolder(@NonNull ViewGroup parent, int viewType) { // UNE EL ADAPTER CON EL LAYOUT
View view = LayoutInflater.from(parent.getContext()).inflate(R.layout.list_item_layout, null, false);
return new ViewHolderHorarios(view);
}
@Override
public void onBindViewHolder(@NonNull HorariosAdapter.ViewHolderHorarios holder, int position) {
holder.setData(listaHorarios.get(position));
}
@Override
public int getItemCount() { // Devuelve el tamaño de la lista de items
return listaHorarios.size();
}
public class ViewHolderHorarios extends RecyclerView.ViewHolder {
RadioButton cursoRadioButton;
public ViewHolderHorarios(@NonNull View itemView) {
super(itemView);
cursoRadioButton = itemView.findViewById(R.id.curso);
}
public void setData(String s) {
cursoRadioButton.setText(s);
}
}
<?xml version="1.0" encoding="utf-8"?>
<android.widget.LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="horizontal">
<RadioButton
android:id="@+id/curso"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text=""
android:onClick="onClickedRadioButton"
/>
</android.widget.LinearLayout>
public void onClickedRadioButton(View view) {
RadioButton radioButton = (RadioButton) view;
if(lastCheckedButton == null){
lastCheckedButton = new RadioButton(this);
}
if(!radioButton.getText().equals(lastCheckedButton.getText()) ){
lastCheckedButton.setChecked(false);
lastCheckedButton = (RadioButton) findViewById(radioButton.getId());
}
}