У меня есть базовый горизонтальный просмотрщик с кнопками во всех элементах. Когда пользователь нажимает кнопку в любом из элементов, я хочу, чтобы кнопка была удалена или видимость исчезла из всех элементов в recyclerView.
Это мой код:
@Override
public void onBindViewHolder(SingleItemRowHolder holder, int i) {
holder.button.setOnClickListener(v -> {
v.postDelayed(() -> holder.likes.setVisibility(View.GONE),500);
});
}
Этот фрагмент кода удаляет кнопку только в элементе, который был нажат. Как это решить?
РЕДАКТИРОВАТЬ
private ArrayList<SingleItemModel> itemsList;
private Context mContext;
SectionListDataAdapter(Context context, ArrayList<SingleItemModel> itemsList) {
this.itemsList = itemsList;
this.mContext = context;
}
@Override
public SingleItemRowHolder onCreateViewHolder(ViewGroup viewGroup, int i) {
View v = LayoutInflater.from(mContext).inflate(R.layout.horizontal_single_row, viewGroup, false);
SingleItemRowHolder mh = new SingleItemRowHolder(v);
return mh;
}
boolean a;
@Override
public void onBindViewHolder(SingleItemRowHolder holder, int i) {
holder.likes.setOnClickListener(v -> {
v.postDelayed(() -> holder.button.setVisibility(View.GONE),500);
});
}
@Override
public int getItemCount() {
return (null != itemsList ? itemsList.size() : 0);
}
class SingleItemRowHolder extends RecyclerView.ViewHolder {
ImageButton button;
SingleItemRowHolder(View view) {
super(view);
this.button = view.findViewById(R.id.profilePic);
}
}