| | |
| | | |
| | | package com.hdl.photovoltaic.ui.adapter; |
| | | |
| | | import android.content.Context; |
| | |
| | | import androidx.appcompat.content.res.AppCompatResources; |
| | | import androidx.recyclerview.widget.RecyclerView; |
| | | |
| | | import com.bumptech.glide.load.resource.bitmap.RoundedCorners; |
| | | import com.hdl.photovoltaic.R; |
| | | import com.hdl.photovoltaic.enums.DebugStatus; |
| | | import com.hdl.photovoltaic.enums.DeliverStatus; |
| | | import com.hdl.photovoltaic.enums.PowerStationStatus; |
| | | import com.hdl.photovoltaic.enums.UnitType; |
| | | import com.hdl.photovoltaic.other.HdlCommonLogic; |
| | | import com.hdl.photovoltaic.other.HdlDeviceLogic; |
| | | 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; |
| | |
| | | |
| | | HouseIdBean houseIdBean = this.mList.get(position); |
| | | holder.homeNameTv.setText(houseIdBean.getHomeName().trim()); |
| | | //装机容量 |
| | | holder.capacityTv.setText(HdlCommonLogic.convertDoubleValue(houseIdBean.getInstalledCapacity(), UnitType.kWp)); |
| | | holder.capacity_kwp_unit.setText(HdlCommonLogic.convertKWPUnit(houseIdBean.getInstalledCapacity())); |
| | | |
| | | //组串容量(创建电站时输入的组串容量) |
| | | holder.pv_value_tv.setText(HdlCommonLogic.convertDoubleValue(houseIdBean.getInstalledCapacity(), UnitType.kWp)); |
| | |
| | | holder.battery_storage_value_tv.setText(HdlCommonLogic.convertDoubleValue(houseIdBean.getBatteryCapacity(), UnitType.kWh)); |
| | | holder.battery_storage_kw_unit.setText(HdlCommonLogic.convertKWHUnit(houseIdBean.getBatteryCapacity())); |
| | | |
| | | holder.plant_details_location_tv.setText(houseIdBean.getHomeAddress()); |
| | | holder.home_location_tv.setText(houseIdBean.getHomeAddress()); |
| | | holder.item_parent_rl.setTag(position); |
| | | setTextViewStyle(holder.stateTv, houseIdBean.getPowerStationStatus()); |
| | | setHomeStateTextViewStyle(holder.home_state_tv, houseIdBean.getPowerStationStatus()); |
| | | setHomeDebugStateTextViewStyle(holder.home_debug_state_tv, holder.home_debug_state_iv, houseIdBean.getDebugStatus()); |
| | | GlideUtils.getRoundedCornersImage(mContext, houseIdBean.getPowerStationImage(), holder.homeIconIv, 6); |
| | | // HdlLogLogic.print("---电站名称:" + houseIdBean.getHomeName() + "---图片url:" + houseIdBean.getPowerStationImage(), false); |
| | | holder.item_parent_rl.setOnClickListener(new View.OnClickListener() { |
| | |
| | | } |
| | | }); |
| | | //移动电站位置 |
| | | holder.move_home_ll.setOnClickListener(new View.OnClickListener() { |
| | | holder.home_move_ll.setOnClickListener(new View.OnClickListener() { |
| | | @Override |
| | | public void onClick(View v) { |
| | | try { |
| | |
| | | |
| | | if (houseIdBean.getDebugStatus().equals(DebugStatus.Debugging)) { |
| | | //未交付完要显示删除按钮 |
| | | holder.del_home_ll.setVisibility(View.VISIBLE); |
| | | holder.home_del_ll.setVisibility(View.VISIBLE); |
| | | } |
| | | |
| | | //删除电站 |
| | | holder.del_home_ll.setOnClickListener(new View.OnClickListener() { |
| | | holder.home_del_ll.setOnClickListener(new View.OnClickListener() { |
| | | @Override |
| | | public void onClick(View v) { |
| | | try { |
| | |
| | | } |
| | | |
| | | /** |
| | | * 改变组件样式 |
| | | * 设置【电站调试状态】组件样式 |
| | | * |
| | | * @param textView 显示住宅状态文本组件 |
| | | * @param imageView 显示住宅状态图标组件 |
| | | * @param stateValue 电站状态(1:正常(运行),2:离线,3:连接中,4:故障,5:离线有故障) |
| | | */ |
| | | private void setHomeDebugStateTextViewStyle(TextView textView, ImageView imageView, String stateValue) { |
| | | |
| | | String text = mContext.getString(R.string.be_debugging); |
| | | Drawable drawable = AppCompatResources.getDrawable(mContext, R.drawable.debugging); |
| | | switch (stateValue) { |
| | | case DebugStatus.Debugging: { |
| | | text = mContext.getString(R.string.be_debugging); |
| | | drawable = AppCompatResources.getDrawable(mContext, R.drawable.debugging); |
| | | } |
| | | break; |
| | | |
| | | case DebugStatus.WAIT_DELIVERED: { |
| | | text = mContext.getString(R.string.debugging_completed); |
| | | drawable = AppCompatResources.getDrawable(mContext, R.drawable.done); |
| | | } |
| | | break; |
| | | case DebugStatus.Delivered: { |
| | | text = mContext.getString(R.string.delivered); |
| | | drawable = AppCompatResources.getDrawable(mContext, R.drawable.delivered); |
| | | } |
| | | break; |
| | | case DebugStatus.SECONDARY_DEBUGGIN: { |
| | | text = mContext.getString(R.string.authorization_debugging); |
| | | drawable = AppCompatResources.getDrawable(mContext, R.drawable.authorization_debugging); |
| | | } |
| | | break; |
| | | } |
| | | textView.setText(text); |
| | | imageView.setBackground(drawable); |
| | | |
| | | |
| | | } |
| | | |
| | | /** |
| | | * 设置【电站状态】组件样式 |
| | | * |
| | | * @param textView 显示组件 |
| | | * 如果设备从来没上报过数据数据 状态:连接中 |
| | |
| | | * 设备离线 状态:离线 |
| | | * @param state_value 电站状态(1:正常(运行),2:离线,3:连接中,4:故障,5:离线有故障,6:部分离线) |
| | | */ |
| | | private void setTextViewStyle(TextView textView, int state_value) { |
| | | private void setHomeStateTextViewStyle(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); |
| | |
| | | |
| | | public ImageView homeIconIv;//住宅图片 |
| | | public TextView homeNameTv;//住宅名称 |
| | | public TextView capacityTv;//装机容量 |
| | | public TextView capacity_kwp_unit;//装机容量单位 |
| | | public TextView power_value_tv;//发电功率 |
| | | public TextView power_kw_unit;//发电功率单位 |
| | | public TextView day_value_tv;//当日发电量 |
| | | public TextView day_kwh_unit;//当日发电量单位 |
| | | public TextView month_value_tv;//当月发电量 |
| | | public TextView month_kwh_unit;//当月发电量单位 |
| | | public TextView stateTv;//电站状态(连接中,运行,离线,故障); |
| | | |
| | | public ImageView home_debug_state_iv;//住宅调试状态图标 |
| | | public TextView home_debug_state_tv;//住宅调试状态 |
| | | |
| | | public TextView pv_value_tv;//组串容量 |
| | | public TextView pv_kw_unit;//发电功率单位 |
| | | public TextView generation_today_value_tv;//当日发电 |
| | | public TextView generation_today_kw_unit;//当日发电单位 |
| | | public TextView output_value_tv;//额定功率 |
| | | public TextView output_kw_unit;//额定功率单位 |
| | | public TextView battery_storage_value_tv;//电池能量 |
| | | public TextView battery_storage_kw_unit;//电池能量单位 |
| | | public TextView home_state_tv;//电站状态(连接中,运行,离线,故障); |
| | | public RelativeLayout item_parent_rl;//条目父容器 |
| | | public LinearLayout move_home_ll;//移动电站位置 |
| | | public LinearLayout del_home_ll;//删除电站 |
| | | public TextView plant_details_location_tv;//电站地址 |
| | | public LinearLayout home_move_ll;//移动电站位置 |
| | | public LinearLayout home_del_ll;//删除电站 |
| | | public TextView home_location_tv;//电站地址 |
| | | public SwipeLayout item_parent_swipeLayout;//父容器 |
| | | |
| | | 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_value_tv); |
| | | capacity_kwp_unit = itemView.findViewById(R.id.capacity_kwp_unit); |
| | | power_value_tv = itemView.findViewById(R.id.power_value_tv); |
| | | power_kw_unit = itemView.findViewById(R.id.power_kw_unit); |
| | | day_value_tv = itemView.findViewById(R.id.day_value_tv); |
| | | day_kwh_unit = itemView.findViewById(R.id.day_kwh_unit); |
| | | month_value_tv = itemView.findViewById(R.id.month_value_tv); |
| | | month_kwh_unit = itemView.findViewById(R.id.month_kwh_unit); |
| | | stateTv = itemView.findViewById(R.id.device_state_tv); |
| | | homeIconIv = itemView.findViewById(R.id.home_image_iv); |
| | | homeNameTv = itemView.findViewById(R.id.home_name_tv); |
| | | home_debug_state_iv = itemView.findViewById(R.id.home_debug_state_iv); |
| | | home_debug_state_tv = itemView.findViewById(R.id.home_debug_state_tv); |
| | | pv_value_tv = itemView.findViewById(R.id.pv_value_tv); |
| | | pv_kw_unit = itemView.findViewById(R.id.pv_kw_unit); |
| | | generation_today_value_tv = itemView.findViewById(R.id.generation_today_value_tv); |
| | | generation_today_kw_unit = itemView.findViewById(R.id.generation_today_kw_unit); |
| | | output_value_tv = itemView.findViewById(R.id.output_value_tv); |
| | | output_kw_unit = itemView.findViewById(R.id.output_kw_unit); |
| | | battery_storage_value_tv = itemView.findViewById(R.id.battery_storage_value_tv); |
| | | battery_storage_kw_unit = itemView.findViewById(R.id.battery_storage_kw_unit); |
| | | home_state_tv = itemView.findViewById(R.id.home_state_tv); |
| | | item_parent_rl = itemView.findViewById(R.id.item_parent_rl); |
| | | move_home_ll = itemView.findViewById(R.id.move_ll); |
| | | del_home_ll = itemView.findViewById(R.id.del_ll); |
| | | plant_details_location_tv = itemView.findViewById(R.id.plant_details_location_tv); |
| | | home_move_ll = itemView.findViewById(R.id.move_ll); |
| | | home_del_ll = itemView.findViewById(R.id.del_ll); |
| | | home_location_tv = itemView.findViewById(R.id.home_location_tv); |
| | | item_parent_swipeLayout = itemView.findViewById(R.id.item_parent_swipeLayout); |
| | | } |
| | | } |