package com.hdl.photovoltaic.ui.adapter; import android.content.Context; import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; import android.widget.ImageView; 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.config.UserConfigManage; import com.hdl.photovoltaic.other.HdlDeviceLogic; import com.hdl.photovoltaic.other.HdlLogLogic; import com.hdl.photovoltaic.other.HdlOtaLogic; import java.util.List; public class LanguageAdapter extends RecyclerView.Adapter { private List mList; private final Context mContext; private OnclickListener noOnclickListener;//点击了的监听器 public LanguageAdapter(List list, Context context) { this.mList = list; this.mContext = context; } @NonNull @Override public LanguageAdapter.MyViewHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) { View view = LayoutInflater.from(parent.getContext()).inflate(R.layout.item_language, parent, false); return new LanguageAdapter.MyViewHolder(view); } @Override public void onBindViewHolder(@NonNull LanguageAdapter.MyViewHolder holder, int position) { try { ItemData itemData = this.mList.get(position); holder.item_lift_name_tv.setText(itemData.getTitle()); holder.item_lift_name_tv.setTextColor(mContext.getColor(R.color.text_90000000)); holder.item_right_icon_iv.setBackground(null); if (itemData.isState()) { holder.item_lift_name_tv.setTextColor(mContext.getColor(R.color.text_245EC3)); holder.item_right_icon_iv.setBackground(AppCompatResources.getDrawable(mContext, R.drawable.select_state)); } if (position == this.mList.size() - 1) { holder.item_bottom_line_v.setVisibility(View.GONE); } holder.itemView.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { if (noOnclickListener != null) { noOnclickListener.onClick(holder.getAdapterPosition(), itemData); } } }); } catch (Exception e) { HdlLogLogic.print(e.getMessage(), false); } } @Override public int getItemCount() { return this.mList == null ? 0 : this.mList.size(); } public void setList(List list) { this.mList = list; } public void setNoOnclickListener(OnclickListener onclickListener) { this.noOnclickListener = onclickListener; } /** * 一行布局容器 */ static class MyViewHolder extends RecyclerView.ViewHolder { public TextView item_lift_name_tv; public ImageView item_right_icon_iv; public View item_bottom_line_v; public MyViewHolder(@NonNull View itemView) { super(itemView); item_lift_name_tv = itemView.findViewById(R.id.item_lift_name_tv); item_right_icon_iv = itemView.findViewById(R.id.item_right_icon_iv); item_bottom_line_v = itemView.findViewById(R.id.item_bottom_line_v); } } public interface OnclickListener { void onClick(int position, ItemData itemData); } public static class ItemData { private String title; private boolean state; //温度单位("C"摄氏度或者"F"华摄度) private String unit = UserConfigManage.getInstance().getTemperature_unit(); //app当前语言 private String language = UserConfigManage.getInstance().getCurrentAppLanguage(); public String getLanguage() { return language; } public void setLanguage(String language) { this.language = language; } public String getTitle() { return title == null ? "" : title; } public void setTitle(String title) { this.title = title; } public boolean isState() { return state; } public void setState(boolean state) { this.state = state; } public String getUnit() { return unit; } public void setUnit(String unit) { this.unit = unit; } } }