package com.application.zhangshi_app_android.adapter; import android.content.Context; import android.media.Image; import android.view.View; import com.android.app_base.base.adapter.BaseRVAdapter; import com.application.zhangshi_app_android.R; import com.application.zhangshi_app_android.bean.FamilyMemorabiliaBean; import com.application.zhangshi_app_android.databinding.ItemImageBinding; import com.application.zhangshi_app_android.ui.function.CreateFamilyProjectActivityViewModel; import java.util.List; /** * @author Ljj * @date 2023.04.01. 22:42 * @desc */ public class ImageRvAdapter extends BaseRVAdapter> { private boolean isEdited = false; private CreateFamilyProjectActivityViewModel viewModel; public ImageRvAdapter(Context context) { super(context); } public ImageRvAdapter(Context context, CreateFamilyProjectActivityViewModel viewModel) { super(context); this.viewModel = viewModel; } @Override protected int getLayoutId() { return R.layout.item_image; } @Override protected void onBind(BaseViewHolder holder, int position) { holder.getBinding().setUrl(mDataList.get(position)); if (isEdited) { holder.getBinding().ivDelete.setVisibility(View.VISIBLE); } else { holder.getBinding().ivDelete.setVisibility(View.GONE); } holder.getBinding().ivDelete.setOnClickListener(v -> { FamilyMemorabiliaBean bean = viewModel.getBeanMutableLiveData().getValue(); if (bean!=null){ List list = bean.getUrlList(); list.remove(position); bean.setUrlList(list); viewModel.getBeanMutableLiveData().postValue(bean); } }); } @Override protected BaseViewHolder getViewHolder(ItemImageBinding itemBind,int viewType) { return new BaseViewHolder<>(itemBind); } public boolean isEdited() { return isEdited; } public void setIsEdited(boolean edited) { isEdited = edited; notifyItemRangeChanged(0,getItemCount()); } }