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.device_satte_ffb300); 
 | 
        if (messageBean.getType().equals(MessageAlarmStateType.fault)) { 
 | 
            type = mContext.getString(R.string.my_power_station_malfunction); 
 | 
            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.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); 
 | 
        } 
 | 
//        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); 
 | 
  
 | 
    } 
 | 
} 
 |