Если я правильно понимаю, ваша проблема в том, что значение viewVisibiltyCheck
не связано с тем элементом, который вы щелкаете Если это так, просто установите viewVisibiltyCheck
как свойство holder
, так что вы получите к нему доступ так же, как и expandView
.
Так что-то вроде этого может быть:
holder.parentView.setOnClickListener(v -> {
if (holder.viewVisibiltyCheck) {
holder.expandView.setVisibility(View.VISIBLE);
holder.viewVisibiltyCheck = false;
} else {
holder.viewVisibiltyCheck = true;
holder.expandView.setVisibility(View.GONE);
}
});
РЕДАКТИРОВАТЬ: Вы должны поместить его туда, где вы создаете держатель и его виды, как, например, expandView. Таким образом, вы можете связать различные параметры с представлением, но Брюс отвечает, что в вашем случае это проще, вероятно.
public class MyViewHolder extends RecyclerView.ViewHolder {
View expandView;
boolean viewVisibiltyCheck;
public MyViewHolder(View itemView) {
super(itemView);
/* your code */
viewVisibiltyCheck = false;
}