| | |
| | | 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 com.application.zhangshi_app_android.ui.function.FamilyMemorabiliaDetailActivityViewModel; |
| | | |
| | | import java.util.List; |
| | | |
| | | /** |
| | | * @author Ljj |
| | | * @date 2023.04.01. 22:42 |
| | | * @desc |
| | | * @desc 各详情Activity里的电子文件 Adapter |
| | | */ |
| | | public class ImageRvAdapter extends BaseRVAdapter<String, ItemImageBinding, BaseRVAdapter.BaseViewHolder<ItemImageBinding>> { |
| | | |
| | | private boolean isEdited = false; |
| | | private CreateFamilyProjectActivityViewModel viewModel; |
| | | private boolean isEdited = false;//是否显示图标,true 显示出图标,false 隐藏图标 (图标为删除时全部显示,图标为选择时只显示选中的那一个) |
| | | private boolean isSelected = false;//是否可选择,true 为 选择图标,false 为删除图标, |
| | | private String selectPosition;//选中的位置 |
| | | 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; |
| | |
| | | } else { |
| | | holder.getBinding().ivDelete.setVisibility(View.GONE); |
| | | } |
| | | holder.getBinding().ivDelete.setOnClickListener(v -> { |
| | | FamilyMemorabiliaBean bean = viewModel.getBeanMutableLiveData().getValue(); |
| | | if (bean!=null){ |
| | | List<String> list = bean.getUrlList(); |
| | | list.remove(position); |
| | | bean.setUrlList(list); |
| | | viewModel.getBeanMutableLiveData().postValue(bean); |
| | | 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 |
| | |
| | | } |
| | | |
| | | public void setIsEdited(boolean edited) { |
| | | isEdited = 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()); |
| | | } |
| | | |
| | | } |