From 12d6db5780d8a2121a3bef2d58bf897b24ff552a Mon Sep 17 00:00:00 2001 From: mac <user@users-MacBook-Pro.local> Date: 星期三, 12 六月 2024 15:54:29 +0800 Subject: [PATCH] Merge branch 'dev' --- app/src/main/java/com/hdl/photovoltaic/ui/adapter/SearchMessageAdapter.java | 124 +++++++++++++++++++++++++++++++++++++++++ 1 files changed, 124 insertions(+), 0 deletions(-) diff --git a/app/src/main/java/com/hdl/photovoltaic/ui/adapter/SearchMessageAdapter.java b/app/src/main/java/com/hdl/photovoltaic/ui/adapter/SearchMessageAdapter.java new file mode 100644 index 0000000..22494be --- /dev/null +++ b/app/src/main/java/com/hdl/photovoltaic/ui/adapter/SearchMessageAdapter.java @@ -0,0 +1,124 @@ +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.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.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 SearchMessageAdapter extends RecyclerView.Adapter<SearchMessageAdapter.MyViewHolder> { + + List<MessageBean> mList; + + Context mContext; + + OnClickListener mOnclickListener; + + public SearchMessageAdapter(Context context) { + + this.mContext = context; + } + + @NonNull + @Override + public SearchMessageAdapter.MyViewHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) { + View contentItem = LayoutInflater.from(parent.getContext()).inflate(R.layout.item_search_message, parent, false); + return new SearchMessageAdapter.MyViewHolder(contentItem); + } + + @Override + public void onBindViewHolder(@NonNull SearchMessageAdapter.MyViewHolder itemHolder, int position) { + MessageBean messageBean = this.mList.get(position); + itemHolder.message_name_tv.setText(messageBean.getTitle()); + itemHolder.message_content_tv.setText(messageBean.getHomeName()); + String date = TimeUtils.getTimeFromTimestamp(messageBean.getCreateTime()); + itemHolder.message_time_tv.setText(date); + String type = "";//FAULT:鏁呴殰,WARN:鍛婅,EVENT:鎻愮ず + Drawable drawable = AppCompatResources.getDrawable(mContext, R.drawable.state_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(MessageAlarmStateType.warn)) { + type = mContext.getString(R.string.message_alarm); + drawable = AppCompatResources.getDrawable(mContext, R.drawable.state_ffb300); + } else if (messageBean.getType().equals(MessageAlarmStateType.event)) { + type = mContext.getString(R.string.loading_title_tip); + drawable = AppCompatResources.getDrawable(mContext, R.drawable.state_b9b9b9); + } + itemHolder.message_state_tv.setText(type); + itemHolder.message_state_tv.setBackground(drawable); + itemHolder.itemView.setTag(position); + itemHolder.itemView.setOnClickListener(new View.OnClickListener() { + @Override + public void onClick(View v) { + try { + if (mOnclickListener != null) { + mOnclickListener.onClick((int) itemHolder.itemView.getTag(), messageBean); + } + } catch (Exception ignored) { + } + } + }); + + } + + @Override + public int getItemCount() { + return this.mList == null ? 0 : this.mList.size(); + } + + public void setOnclickListener(OnClickListener onClickListener) { + this.mOnclickListener = onClickListener; + } + + public void setList(List<MessageBean> newData) { + if (this.mList == null) { + this.mList = new ArrayList<>(); + } else { + this.mList.clear(); + } + + this.mList.addAll(newData); + notifyDataSetChanged(); + } + + /** + * 涓�琛屽竷灞�瀹瑰櫒 + */ + static class MyViewHolder extends RecyclerView.ViewHolder { + public TextView message_name_tv; + + public TextView message_content_tv; + public TextView message_time_tv; + public TextView message_state_tv; + + public MyViewHolder(@NonNull View itemView) { + super(itemView); + message_name_tv = itemView.findViewById(R.id.message_name_tv); + message_content_tv = itemView.findViewById(R.id.message_content_tv); + message_time_tv = itemView.findViewById(R.id.message_time_tv); + message_state_tv = itemView.findViewById(R.id.message_state_tv); + } + } + + public interface OnClickListener { + void onClick(int position, MessageBean messageBean); + + } +} -- Gitblit v1.8.0