From 80f2ca2df62ff1cd03046864af504245be078eb2 Mon Sep 17 00:00:00 2001 From: wjc <1243177876@qq.com> Date: 星期四, 05 六月 2025 10:37:28 +0800 Subject: [PATCH] 2025年06月05日10:37:26 --- app/src/main/java/com/hdl/photovoltaic/ui/adapter/DeviceInfoAdapter.java | 105 ++++++++++++++++++++++++++++++++++++++++------------ 1 files changed, 80 insertions(+), 25 deletions(-) diff --git a/app/src/main/java/com/hdl/photovoltaic/ui/adapter/DeviceInfoAdapter.java b/app/src/main/java/com/hdl/photovoltaic/ui/adapter/DeviceInfoAdapter.java index 8a1bb87..114f5e1 100644 --- a/app/src/main/java/com/hdl/photovoltaic/ui/adapter/DeviceInfoAdapter.java +++ b/app/src/main/java/com/hdl/photovoltaic/ui/adapter/DeviceInfoAdapter.java @@ -1,26 +1,28 @@ package com.hdl.photovoltaic.ui.adapter; import android.content.Context; +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; +import androidx.appcompat.content.res.AppCompatResources; import androidx.recyclerview.widget.RecyclerView; import com.hdl.photovoltaic.R; -import com.hdl.photovoltaic.ui.bean.DeviceBean; -import com.hdl.photovoltaic.widget.SwipeLayout; +import com.hdl.photovoltaic.enums.UnitType; +import com.hdl.photovoltaic.other.HdlCommonLogic; +import com.hdl.photovoltaic.ui.bean.CloudInverterDeviceBean; import java.util.ArrayList; import java.util.List; public class DeviceInfoAdapter extends RecyclerView.Adapter<DeviceInfoAdapter.MyViewHolder> { - List<DeviceBean> mList; + List<CloudInverterDeviceBean> mList; Context mContext; @@ -40,14 +42,24 @@ @Override public void onBindViewHolder(@NonNull MyViewHolder holder, int position) { - DeviceBean deviceBean = this.mList.get(position); + CloudInverterDeviceBean deviceBean = this.mList.get(position); + + holder.homeNameTv.setText(deviceBean.getHomeNameAndDeviceName()); + holder.device_details_sn_tv.setText(deviceBean.getOsn()); + holder.device_label_run_state_value_tv.setText(deviceBean.getSystemStatusDesc()); + holder.device_label_power_value_tv.setText(HdlCommonLogic.convertDoubleValue(deviceBean.getOutputActivePower(),UnitType.kW)); + holder.device_label_power_unit.setText(HdlCommonLogic.convertKWUnit(deviceBean.getOutputActivePower())); + holder.device_label_day_value_tv.setText(HdlCommonLogic.convertDoubleValue(deviceBean.getTotalElectricityPvToday(),UnitType.kWh)); + holder.device_label_day_unit.setText(HdlCommonLogic.convertKWHUnit(deviceBean.getOutputActivePower())); + holder.device_label_location_tv.setText(deviceBean.getHomeAddress()); + setTextViewStyle(holder.device_label_state_tv, deviceBean.getDeviceStatus()); holder.itemView.setTag(position); holder.itemView.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { try { if (mOnclickListener != null) { - mOnclickListener.onClick((int) holder.item_parent_rl.getTag(), deviceBean); + mOnclickListener.onClick((int) holder.itemView.getTag(), deviceBean); } } catch (Exception ignored) { } @@ -65,7 +77,7 @@ this.mOnclickListener = onClickListener; } - public void setList(List<DeviceBean> newData) { + public void setList(List<CloudInverterDeviceBean> newData) { if (this.mList == null) { this.mList = new ArrayList<>(); } else { @@ -77,36 +89,79 @@ } /** + * 鏀瑰彉缁勪欢鏍峰紡 + * + * @param textView 鏄剧ず缁勪欢 + * @param state_value 璁惧鐘舵��(1:杩炴帴涓�,2:鏁呴殰,3:姝e父(杩愯),4:绂荤嚎) + */ + private void setTextViewStyle(TextView textView, int state_value) { + String text = mContext.getString(R.string.my_power_station_operation); + Drawable drawable = AppCompatResources.getDrawable(mContext, R.drawable.device_state_ff38c494); + switch (state_value) { + case 1: { + text = mContext.getString(R.string.my_power_station_connecting); + drawable = AppCompatResources.getDrawable(mContext, R.drawable.device_satte_ffb300); + } + break; + case 2: { + text = mContext.getString(R.string.my_power_station_malfunction); + drawable = AppCompatResources.getDrawable(mContext, R.drawable.device_state_fff55252); + } + break; + case 3: { + text = mContext.getString(R.string.my_power_station_operation); + } + break; + case 4: { + text = mContext.getString(R.string.my_power_station_off_line); + drawable = AppCompatResources.getDrawable(mContext, R.drawable.device_state_ffb9b9b9); + } + break; + + + } +// textView.setText(text); + textView.setBackground(drawable); + + + } + + /** * 涓�琛屽竷灞�瀹瑰櫒 */ static class MyViewHolder extends RecyclerView.ViewHolder { - public ImageView homeIconIv;//浣忓畢鍥剧墖 + public ImageView device_icon_iv;//璁惧鍥剧墖 public TextView homeNameTv;//浣忓畢鍚嶇О - 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 TextView device_details_sn_tv;//mac + public TextView device_label_run_state_value_tv;//璁惧杩愯鐘舵�� + public TextView device_label_power_value_tv;//鏈夊姛鍔熺巼 + public TextView device_label_power_unit;//鏈夊姛鍔熺巼鍗曚綅 + public TextView device_label_day_value_tv;//褰撴棩鍙戠數閲� + public TextView device_label_day_unit;//褰撴棩鍙戠數閲忓崟浣� + public TextView device_label_location_tv;//鐢电珯鍦板潃 + public TextView device_label_state_tv;//璁惧鐘舵��(1:杩炴帴涓�,2:鏁呴殰,3:姝e父(杩愯),4:绂荤嚎) + public MyViewHolder(@NonNull View itemView) { super(itemView); - homeIconIv = itemView.findViewById(R.id.device_details_image_iv); - homeNameTv = itemView.findViewById(R.id.device_details_name_tv); - capacityTv = itemView.findViewById(R.id.device_details_sn_tv); - powerTv = itemView.findViewById(R.id.power_type_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); + device_icon_iv = itemView.findViewById(R.id.home_image_iv); + homeNameTv = itemView.findViewById(R.id.home_name_tv); + device_details_sn_tv = itemView.findViewById(R.id.device_details_value_tv); + device_label_run_state_value_tv = itemView.findViewById(R.id.device_label_run_state_value_tv); + device_label_power_value_tv = itemView.findViewById(R.id.device_label_power_value_tv); + device_label_power_unit = itemView.findViewById(R.id.device_label_power_unit); + device_label_day_value_tv = itemView.findViewById(R.id.device_label_day_value_tv); + device_label_day_unit = itemView.findViewById(R.id.device_label_day_unit); + device_label_location_tv = itemView.findViewById(R.id.device_label_location_tv); + + device_label_state_tv = itemView.findViewById(R.id.device_state_tv); + } } public interface OnClickListener { - void onClick(int position, DeviceBean deviceBean); + void onClick(int position, CloudInverterDeviceBean deviceBean); } } -- Gitblit v1.8.0