From a0ad95363367656656136bf204596a1dcb74c217 Mon Sep 17 00:00:00 2001
From: wjc <1243177876@qq.com>
Date: 星期五, 20 六月 2025 16:26:32 +0800
Subject: [PATCH] 2025年06月20日16:26:30
---
app/src/main/java/com/hdl/photovoltaic/ui/adapter/MessageAdapter.java | 81 +++++++++++++++++++++++++++++-----------
1 files changed, 58 insertions(+), 23 deletions(-)
diff --git a/app/src/main/java/com/hdl/photovoltaic/ui/adapter/MessageAdapter.java b/app/src/main/java/com/hdl/photovoltaic/ui/adapter/MessageAdapter.java
index 973be86..7ca2b67 100644
--- a/app/src/main/java/com/hdl/photovoltaic/ui/adapter/MessageAdapter.java
+++ b/app/src/main/java/com/hdl/photovoltaic/ui/adapter/MessageAdapter.java
@@ -5,6 +5,7 @@
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
+import android.widget.ImageView;
import android.widget.TextView;
import androidx.annotation.NonNull;
@@ -12,9 +13,12 @@
import androidx.recyclerview.widget.RecyclerView;
import com.hdl.photovoltaic.R;
+import com.hdl.photovoltaic.enums.DeviceType;
+import com.hdl.photovoltaic.enums.MessageAlarmStateType;
import com.hdl.photovoltaic.ui.bean.MessageBean;
import com.hdl.photovoltaic.utils.TimeUtils;
+import java.util.ArrayList;
import java.util.List;
public class MessageAdapter extends RecyclerView.Adapter<MessageAdapter.MyViewHolder> {
@@ -22,11 +26,9 @@
private List<MessageBean> mList;
private final Context mContext;
- private MessageAdapter.OnclickListener noOnclickListener;//鐐瑰嚮浜嗙殑鐩戝惉鍣�
+ private OnClickListener mOnclickListener;//鐐瑰嚮浜嗙殑鐩戝惉鍣�
- public MessageAdapter(List<MessageBean> list, Context context) {
-
- mList = list;
+ public MessageAdapter(Context context) {
this.mContext = context;
}
@@ -40,32 +42,39 @@
@Override
public void onBindViewHolder(@NonNull MyViewHolder holder, int position) {
MessageBean messageBean = this.mList.get(position);
+ String strName = getDeviceTypeStr(messageBean.getDeviceType()) + "(" + messageBean.getHomeName()+"_"+messageBean.getDeviceDesc() + ")";
holder.item_content_tv.setText(messageBean.getTitle());
- holder.item_home_name_tv.setText(messageBean.getHomeName());
- String date = TimeUtils.getDateTimestamp(messageBean.getCreateTime());
+ holder.item_home_name_tv.setText(strName);
+ String date = TimeUtils.getTimeFromTimestamp(messageBean.getCreateTime());
holder.item_time_tv.setText(date);
- String type = "";//FAULT:鏁呴殰,WARN:鍛婅,EVENT:浜嬩欢
- Drawable drawable = AppCompatResources.getDrawable(mContext, R.drawable.state_ffb300);
- if (messageBean.getType().equals("FAULT")) {
+ String type = "";//FAULT:鏁呴殰,WARN:鍛婅,EVENT:鎻愮ず
+ Drawable drawable = AppCompatResources.getDrawable(mContext, R.drawable.device_satte_ffb300);
+ if (messageBean.getType().equals(MessageAlarmStateType.fault)) {
type = mContext.getString(R.string.my_power_station_malfunction);
- drawable = AppCompatResources.getDrawable(mContext, R.drawable.state_e34343);
- } else if (messageBean.getType().equals("WARN")) {
+ drawable = AppCompatResources.getDrawable(mContext, R.drawable.device_state_fff55252);
+ } else if (messageBean.getType().equals(MessageAlarmStateType.warn)) {
type = mContext.getString(R.string.message_alarm);
- drawable = AppCompatResources.getDrawable(mContext, R.drawable.state_ffb300);
- } else if (messageBean.getType().equals("EVENT")) {
- type = "浜嬩欢";
- drawable = AppCompatResources.getDrawable(mContext, R.drawable.state_ffb300);
+ drawable = AppCompatResources.getDrawable(mContext, R.drawable.device_satte_ffb300);
+ } else if (messageBean.getType().equals(MessageAlarmStateType.event)) {
+ type = mContext.getString(R.string.loading_title_tip);
+ drawable = AppCompatResources.getDrawable(mContext, R.drawable.device_state_ffb9b9b9);
}
- holder.item_estate_tv.setText(type);
+// holder.item_estate_tv.setText(type);
+ holder.item_estate_tv.setBackground(drawable);
holder.item_unread_message_tv.setVisibility(View.VISIBLE);
if (messageBean.isRead()) {
holder.item_unread_message_tv.setVisibility(View.GONE);
}
+ //鏍囪绱㈠紩
+ holder.itemView.setTag(position);
holder.itemView.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
- if (noOnclickListener != null) {
- noOnclickListener.onClick(holder.getAdapterPosition(), messageBean);
+ try {
+ if (mOnclickListener != null) {
+ mOnclickListener.onClick((int) holder.itemView.getTag(), messageBean);
+ }
+ } catch (Exception ignored) {
}
}
});
@@ -78,12 +87,19 @@
}
- public void setList(List<MessageBean> list) {
- this.mList = list;
+ public void setList(List<MessageBean> newData) {
+ if (this.mList == null) {
+ this.mList = new ArrayList<>();
+ } else {
+ this.mList.clear();
+ }
+
+ this.mList.addAll(newData);
+ notifyDataSetChanged();
}
- public void setNoOnclickListener(MessageAdapter.OnclickListener onclickListener) {
- this.noOnclickListener = onclickListener;
+ public void setOnclickListener(OnClickListener onClickListener) {
+ this.mOnclickListener = onClickListener;
}
/**
@@ -106,8 +122,27 @@
}
}
- public interface OnclickListener {
+ public interface OnClickListener {
void onClick(int position, MessageBean messageBean);
}
+ /**
+ * 閫氳繃鏋氫妇杞崲璁惧绫诲瀷鐨勫瓧绗�
+ *
+ * @param deviceType //璁惧绫诲瀷(INV 锛� 閫嗗彉鍣�, BMS 锛� BMS鎺у埗鐩�, BATTERY 锛� 鐢垫睜鍗曞厓)
+ * @return 璁惧绫诲瀷
+ */
+ private String getDeviceTypeStr(String deviceType) {
+ switch (deviceType) {
+ case DeviceType.inv:
+ return mContext.getString(R.string.alarm_all_device_inverter);
+ case DeviceType.bms:
+ return mContext.getString(R.string.alarm_all_device_bms);
+ case DeviceType.battery:
+ return mContext.getString(R.string.alarm_all_device_battery_cell);
+ default:
+ return "";
+ }
+ }
+
}
--
Gitblit v1.8.0