package com.application.zhangshi_app_android.adapter;
|
|
import android.content.Context;
|
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.FamilyMemorabiliaDetailActivityViewModel;
|
|
import java.util.List;
|
|
/**
|
* @author Ljj
|
* @date 2023.04.01. 22:42
|
* @desc 各详情Activity里的电子文件 Adapter
|
*/
|
public class ImageRvAdapter extends BaseRVAdapter<String, ItemImageBinding, BaseRVAdapter.BaseViewHolder<ItemImageBinding>> {
|
|
private boolean isEdited = false;//是否显示图标,true 显示出图标,false 隐藏图标 (图标为删除时全部显示,图标为选择时只显示选中的那一个)
|
private boolean isSelected = false;//是否可选择,true 为 选择图标,false 为删除图标,
|
private String selectPosition;//选中的位置
|
public ImageRvAdapter(Context context) {
|
super(context);
|
}
|
|
@Override
|
protected int getLayoutId() {
|
return R.layout.item_image;
|
}
|
|
@Override
|
protected void onBind(BaseViewHolder<ItemImageBinding> holder, int position) {
|
holder.getBinding().setUrl(mDataList.get(position));
|
if (isEdited) {
|
holder.getBinding().ivDelete.setVisibility(View.VISIBLE);
|
} else {
|
holder.getBinding().ivDelete.setVisibility(View.GONE);
|
}
|
if (isSelected) {
|
holder.getBinding().ivDelete.setBackgroundResource(R.drawable.ic_image_select);
|
if (selectPosition.equals(getItem(position))){
|
holder.getBinding().ivDelete.setVisibility(View.VISIBLE);
|
} else {
|
holder.getBinding().ivDelete.setVisibility(View.GONE);
|
}
|
} else {
|
holder.getBinding().ivDelete.setBackgroundResource(R.drawable.ic_image_delete);
|
}
|
}
|
|
@Override
|
protected BaseViewHolder<ItemImageBinding> getViewHolder(ItemImageBinding itemBind,int viewType) {
|
return new BaseViewHolder<>(itemBind);
|
}
|
|
public boolean isEdited() {
|
return isEdited;
|
}
|
|
public void setIsEdited(boolean edited) {
|
this.isEdited = edited;
|
notifyItemRangeChanged(0,getItemCount());
|
}
|
|
public void setIsSelected(boolean isSelected) {
|
this.isSelected = isSelected;
|
notifyItemRangeChanged(0,getItemCount());
|
}
|
public void setSelectPosition(String selectPosition) {
|
this.selectPosition = selectPosition;
|
notifyItemRangeChanged(0,getItemCount());
|
}
|
|
}
|