Есть список,в нем 30 элементов и по нажатию на кнопку в первом элементе, эта кнопка должна изменить свой бэкграунд,но проблема в том что вместе с бэкграундом этой кнопки меняется еще и бэк кнопки в 15 элементе. И так для каждого элемента т.е нажму на кнопку во 2 элементе изменится в 16, и т.д.
private class SubscriptionHolder extends RecyclerView.ViewHolder {
private Button buttonAddToFriendSUBSCRIPTIONS_FR;
SubscriptionHolder (View itemView,int viewType) {
super(itemView);
buttonAddToFriendSUBSCRIPTIONS_FR = (Button) itemView.findViewById(R.id.buttonAddToFriendSUBSCRIPTIONS_FR);
buttonAddToFriendSUBSCRIPTIONS_FR.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
buttonAddToFriendSUBSCRIPTIONS_FR.setBackgroundResource(R.drawable.b_all_button_round_ring_color_blue);
buttonAddToFriendSUBSCRIPTIONS_FR.setTextColor(getResources().getColor(R.color.textColorBlue));
}
});
}
}
void setValue (String id,String username){
fieldUsernameITEM_FOR_SUBSCRIPTION_FR.setText(username);
user_id=id;
}
}
private class SubscriptionRecyclerAdapter extends RecyclerView.Adapter<SubscriptionHolder>{
@Override
public SubscriptionHolder onCreateViewHolder(ViewGroup parent, int viewType) {
View view = LayoutInflater.from(parent.getContext()).inflate(R.layout.item_for_subscription_fr,parent,false);
return new SubscriptionHolder(view);
}
@Override
public void onBindViewHolder(final SubscriptionHolder holder, int position) {
holder.setValue("id","username");
}
@Override
public int getItemCount() {
return array.size()
}
}
Впринципе реализация стандартная,может это просто логика работы адаптера такая, я где-то читал что он создает несколько одинаковых объектов viewHolder.
В общем как мне обработать нажатия что-бы оно применилось только для одной кнопки?