Я пытаюсь сделать RecyclerView
с кнопками, чтобы, когда пользователь нажимает на одну, другие отменялись. Как этого добиться?
Я попытался выполнить поиск в Google и StackOverflow, но не смог найти ответы на свой вопрос.
Адаптер
public class LocationAreaAdapter extends RecyclerView.Adapter<LocationAreaAdapter.ViewHolder> {
private int mSelectedItem = -1;
private ArrayList<String> mNames = new ArrayList<>();
private Context mContext;
public LocationAreaAdapter(Context context,ArrayList<String> mNames ){
this.mContext=context;
this.mNames=mNames;
}
@NonNull
@Override
public LocationAreaAdapter.ViewHolder onCreateViewHolder(@NonNull ViewGroup viewGroup, int i) {
View view = LayoutInflater.from(viewGroup.getContext()).inflate(R.layout.locatin_area_cardview, viewGroup, false);
return new LocationAreaAdapter.ViewHolder(view);
}
@Override
public void onBindViewHolder(@NonNull ViewHolder holder, int i) {
holder.name.setText(mNames.get(i));
holder.name.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
holder.name.setTextColor(Color.WHITE);
holder.name.setBackgroundResource(R.drawable.clicked_button);
onClickedLocationArea = mNames.get(i);
loadhostelList();
}
});
}
@Override
public int getItemCount() {
return mNames.size();
}
public class ViewHolder extends RecyclerView.ViewHolder {
Button name;
public ViewHolder(View itemView) {
super(itemView);
name = itemView.findViewById(R.id.location_area_button);
}
}
}
Не могли бы вы посоветовать мне правильный подход к моему делу?