wjc
2024-12-02 f50e8e60e9da99e4f69d8ab76810dc7e5fb448bc
app/src/main/java/com/hdl/photovoltaic/ui/newC/adapter/HouseListAdapter.java
@@ -8,6 +8,7 @@
import android.widget.TextView;
import androidx.annotation.NonNull;
import androidx.appcompat.content.res.AppCompatResources;
import androidx.recyclerview.widget.RecyclerView;
import com.hdl.photovoltaic.R;
@@ -24,7 +25,10 @@
    private Context mContext;
    private List<HouseIdBean> mList;
    public OnClickListener mOnClickListener;
    public OnMoveClickListener mOnMoveClickListener;
    public OnDelClickListener mOnDelClickListener;
    public OnItemClickListener mOnItemClickListener;
    public HouseListAdapter(Context context) {
        this.mContext = context;
@@ -43,18 +47,66 @@
        holder.homeNameTv.setText(houseIdBean.getHomeName().trim());
        holder.itemView.setTag(position);
        if (houseIdBean.isEdit()) {
        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.homeMoveIv.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                try {
                    if (mOnClickListener != null) {
                        mOnClickListener.onMoveClick((int) holder.itemView.getTag(), houseIdBean);
                    if (mOnMoveClickListener != null) {
                        mOnMoveClickListener.onMoveClick((int) holder.itemView.getTag(), houseIdBean);
                    }
                } catch (Exception ignored) {
                }
            }
        });
        holder.itemView.setTag(position);//标记位置
        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) {
                }
@@ -75,32 +127,56 @@
        } else {
            this.mList.clear();
        }
        if (newData == null) {
            newData = new ArrayList<>();
        }
        this.mList.addAll(newData);
        notifyDataSetChanged();
    }
    public void setNoOnclickListener(OnClickListener onClickListener) {
        this.mOnClickListener = onClickListener;
    public void setMoveOnclickListener(OnMoveClickListener onMoveClickListener) {
        this.mOnMoveClickListener = onMoveClickListener;
    }
    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 homeMoveIv;//住宅图片
        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 OnClickListener {
    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);
    }
}