| | |
| | | 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.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<DeviceBean> mList; |
| | | List<MessageBean> mList; |
| | | |
| | | Context mContext; |
| | | |
| | |
| | | @NonNull |
| | | @Override |
| | | public SearchMessageAdapter.MyViewHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) { |
| | | View contentItem = LayoutInflater.from(parent.getContext()).inflate(R.layout.item_device_details, parent, false); |
| | | 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 holder, int position) { |
| | | DeviceBean deviceBean = this.mList.get(position); |
| | | holder.itemView.setTag(position); |
| | | holder.itemView.setOnClickListener(new View.OnClickListener() { |
| | | 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) holder.itemView.getTag(), deviceBean); |
| | | mOnclickListener.onClick((int) itemHolder.itemView.getTag(), messageBean); |
| | | } |
| | | } catch (Exception ignored) { |
| | | } |
| | |
| | | this.mOnclickListener = onClickListener; |
| | | } |
| | | |
| | | public void setList(List<DeviceBean> newData) { |
| | | public void setList(List<MessageBean> newData) { |
| | | if (this.mList == null) { |
| | | this.mList = new ArrayList<>(); |
| | | } else { |
| | |
| | | * 一行布局容器 |
| | | */ |
| | | static class MyViewHolder extends RecyclerView.ViewHolder { |
| | | public TextView message_name_tv; |
| | | |
| | | public ImageView homeIconIv;//住宅图片 |
| | | 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 message_content_tv; |
| | | public TextView message_time_tv; |
| | | public TextView message_state_tv; |
| | | |
| | | 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); |
| | | 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, DeviceBean deviceBean); |
| | | void onClick(int position, MessageBean messageBean); |
| | | |
| | | } |
| | | } |