package com.hdl.photovoltaic.ui.newC.adapter; import android.content.Context; import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; import android.widget.ImageView; import android.widget.TextView; import androidx.annotation.NonNull; import androidx.appcompat.content.res.AppCompatResources; import androidx.recyclerview.widget.RecyclerView; import com.hdl.photovoltaic.R; import com.hdl.photovoltaic.ui.bean.HouseIdBean; import java.util.ArrayList; import java.util.List; /** * 电站列表编辑适配器 */ public class HouseListAdapter extends RecyclerView.Adapter { private Context mContext; private List mList; public OnDelClickListener mOnDelClickListener; public OnItemClickListener mOnItemClickListener; public HouseListAdapter(Context context) { this.mContext = context; } @NonNull @Override public MyViewHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) { View view = LayoutInflater.from(mContext).inflate(R.layout.item_house_line_c, parent, false); return new MyViewHolder(view); } @Override public void onBindViewHolder(@NonNull MyViewHolder holder, int position) { HouseIdBean houseIdBean = this.mList.get(position); holder.homeNameTv.setText(houseIdBean.getHomeName().trim()); holder.itemView.setTag(position); if (houseIdBean.isDelIcon()) { holder.houseDelIv.setVisibility(View.VISIBLE); } else { holder.houseDelIv.setVisibility(View.GONE); } if (houseIdBean.isMove()) { holder.homeMoveIv.setVisibility(View.VISIBLE); } else { holder.homeMoveIv.setVisibility(View.GONE); } if (!houseIdBean.isMove()) { holder.houseSelectIv.setVisibility(View.VISIBLE); holder.houseSelectIv.setBackground(null); if (houseIdBean.isState_select()) { holder.houseSelectIv.setBackground(AppCompatResources.getDrawable(mContext, R.drawable.select)); } } else { holder.houseSelectIv.setVisibility(View.GONE); } //删除电站位置 holder.houseDelIv.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { try { if (mOnDelClickListener != null) { mOnDelClickListener.onDelClick((int) holder.itemView.getTag(), houseIdBean); } } catch (Exception ignored) { } } }); holder.itemView.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { try { if (holder.houseSelectIv.getVisibility() == View.GONE) { //选中图标组件隐藏的时候点击无效 return; } if (mOnItemClickListener != null) { mOnItemClickListener.onItemClick((int) holder.itemView.getTag(), houseIdBean); } } catch (Exception ignored) { } } }); } @Override public int getItemCount() { return this.mList == null ? 0 : this.mList.size(); } public void setList(List newData) { if (this.mList == null) { this.mList = new ArrayList<>(); } else { this.mList.clear(); } if (newData == null) { newData = new ArrayList<>(); } this.mList.addAll(newData); notifyDataSetChanged(); } public void setDelOnclickListener(OnDelClickListener onDelClickListener) { this.mOnDelClickListener = onDelClickListener; } public void setOnItemClickListener(OnItemClickListener onItemClickListener) { this.mOnItemClickListener = onItemClickListener; } static class MyViewHolder extends RecyclerView.ViewHolder { public TextView homeNameTv;//住宅名称 public ImageView houseDelIv;//删除图标 public ImageView homeMoveIv;//位置移动图标 public ImageView houseSelectIv;//位置移动图标 public MyViewHolder(@NonNull View itemView) { super(itemView); homeNameTv = itemView.findViewById(R.id.house_name_tv); houseDelIv = itemView.findViewById(R.id.house_del_iv); homeMoveIv = itemView.findViewById(R.id.house_move_iv); houseSelectIv = itemView.findViewById(R.id.house_select_iv); } } public interface OnMoveClickListener { void onMoveClick(int position, HouseIdBean houseIdBean); } public interface OnDelClickListener { void onDelClick(int position, HouseIdBean houseIdBean); } public interface OnItemClickListener { void onItemClick(int position, HouseIdBean houseIdBean); } }