From 7e06d0fb18152ea0e7d898d25c88ef132af3ec6e Mon Sep 17 00:00:00 2001 From: mac <user@users-MacBook-Pro.local> Date: 星期五, 29 三月 2024 15:26:19 +0800 Subject: [PATCH] 2024年03月29日15:26:15 --- app/src/main/java/com/hdl/photovoltaic/ui/adapter/HouseInfoAdapter.java | 85 ++++++++++++++++++++++++++++++++++++++---- 1 files changed, 76 insertions(+), 9 deletions(-) diff --git a/app/src/main/java/com/hdl/photovoltaic/ui/adapter/HouseInfoAdapter.java b/app/src/main/java/com/hdl/photovoltaic/ui/adapter/HouseInfoAdapter.java index 1fcb006..f8fa28e 100644 --- a/app/src/main/java/com/hdl/photovoltaic/ui/adapter/HouseInfoAdapter.java +++ b/app/src/main/java/com/hdl/photovoltaic/ui/adapter/HouseInfoAdapter.java @@ -1,12 +1,12 @@ package com.hdl.photovoltaic.ui.adapter; import android.content.Context; -import android.content.Intent; import android.graphics.drawable.Drawable; import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; import android.widget.ImageView; +import android.widget.RelativeLayout; import android.widget.TextView; import androidx.annotation.NonNull; @@ -15,9 +15,12 @@ import com.bumptech.glide.load.resource.bitmap.RoundedCorners; import com.hdl.photovoltaic.R; +import com.hdl.photovoltaic.other.HdlLogLogic; import com.hdl.photovoltaic.ui.bean.HouseIdBean; import com.hdl.photovoltaic.utils.GlideUtils; +import com.hdl.photovoltaic.widget.SwipeLayout; +import java.util.ArrayList; import java.util.List; public class HouseInfoAdapter extends RecyclerView.Adapter<HouseInfoAdapter.MyViewHolder> { @@ -26,9 +29,13 @@ private final Context mContext; private OnclickListener noOnclickListener;//鐐瑰嚮浜嗙殑鐩戝惉鍣� - public HouseInfoAdapter(List<HouseIdBean> list, Context context) { + /** + * 鏀堕泦SwipeLayout鏁扮粍,瑕佷竴閿叏閮ㄦ墦寮�; + */ + private List<SwipeLayout> swipeLayoutList = new ArrayList<>(); - this.mList = list; + public HouseInfoAdapter(Context context) { + this.mContext = context; } @@ -41,6 +48,7 @@ @Override public void onBindViewHolder(@NonNull MyViewHolder holder, int position) { + HouseIdBean houseIdBean = this.mList.get(position); holder.homeNameTv.setText(houseIdBean.getHomeName().trim()); @@ -63,13 +71,43 @@ //鍙戠數鍔熺巼 String power = mContext.getString(R.string.power_station_generated_power) + kw + "kW"; holder.powerTv.setText(power); + holder.item_parent_rl.setTag(position); setTextViewStyle(holder.stateTv, houseIdBean.getPowerStationStatus()); - GlideUtils.getRoundedCornersImage(mContext, houseIdBean.getPowerStationImage(), holder.homeIconIv, new RoundedCorners(4)); - holder.itemView.setOnClickListener(new View.OnClickListener() { + GlideUtils.getRoundedCornersImage(mContext, houseIdBean.getPowerStationImage(), holder.homeIconIv, new RoundedCorners(4), false); + + HdlLogLogic.print("--->鐢电珯鍚嶇О:" + houseIdBean.getHomeName() + "--->鍥剧墖url:" + houseIdBean.getPowerStationImage(), false); + holder.item_parent_rl.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { - if (noOnclickListener != null) { - noOnclickListener.onClick(holder.getAdapterPosition(), houseIdBean); + try { + if (noOnclickListener != null) { + noOnclickListener.onClick((int) holder.item_parent_rl.getTag(), houseIdBean); + } + } catch (Exception ignored) { + } + } + }); + //绉诲姩鐢电珯浣嶇疆 + holder.move_home_iv.setOnClickListener(new View.OnClickListener() { + @Override + public void onClick(View v) { + try { + if (noOnclickListener != null) { + noOnclickListener.onMoveClick((int) holder.item_parent_rl.getTag(), houseIdBean); + } + } catch (Exception ignored) { + } + } + }); + //鍒犻櫎鐢电珯 + holder.del_home_iv.setOnClickListener(new View.OnClickListener() { + @Override + public void onClick(View v) { + try { + if (noOnclickListener != null) { + noOnclickListener.onDelClick((int) holder.item_parent_rl.getTag(), houseIdBean); + } + } catch (Exception ignored) { } } }); @@ -82,12 +120,27 @@ } - public void setList(List<HouseIdBean> list) { - this.mList = list; + public void setList(List<HouseIdBean> newData) { + if (this.mList == null) { + this.mList = new ArrayList<>(); + } else { + this.mList.clear(); + } + + this.mList.addAll(newData); + notifyDataSetChanged(); } + public void setNoOnclickListener(OnclickListener onclickListener) { this.noOnclickListener = onclickListener; + } + + public List<SwipeLayout> getSwipeLayoutList() { + if (this.swipeLayoutList == null) { + this.swipeLayoutList = new ArrayList<>(); + } + return this.swipeLayoutList; } /** @@ -141,6 +194,10 @@ public TextView capacityTv;//瑁呮満瀹归噺 public TextView powerTv;//鍙戠數鍔熺巼 public TextView stateTv;//鐢电珯鐘舵��(杩炴帴涓�,杩愯,绂荤嚎,鏁呴殰); + public RelativeLayout item_parent_rl;//鏉$洰鐖跺鍣� + public ImageView move_home_iv;//绉诲姩鐢电珯浣嶇疆 + public ImageView del_home_iv;//鍒犻櫎鐢电珯 + public SwipeLayout item_parent_swipeLayout;//鐖跺鍣� public MyViewHolder(@NonNull View itemView) { super(itemView); @@ -149,10 +206,20 @@ capacityTv = itemView.findViewById(R.id.fragment_house_list_line_capacity_tv); powerTv = itemView.findViewById(R.id.fragment_house_list_line_power_tv); stateTv = itemView.findViewById(R.id.fragment_house_list_line_state_tv); + item_parent_rl = itemView.findViewById(R.id.item_parent_rl); + move_home_iv = itemView.findViewById(R.id.move_home_iv); + del_home_iv = itemView.findViewById(R.id.del_home_iv); + item_parent_swipeLayout = itemView.findViewById(R.id.item_parent_swipeLayout); } } public interface OnclickListener { void onClick(int position, HouseIdBean houseIdBean); + + void onMoveClick(int position, HouseIdBean houseIdBean); + + void onDelClick(int position, HouseIdBean houseIdBean); + } + } -- Gitblit v1.8.0