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.HdlLogLogic;
|
|
import java.util.List;
|
|
public class LanguageAdapter extends RecyclerView.Adapter<LanguageAdapter.MyViewHolder> {
|
|
|
private List<ItemData> mList;
|
private final Context mContext;
|
private OnclickListener noOnclickListener;//点击了的监听器
|
|
public LanguageAdapter(List<ItemData> 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_right_icon_iv.setBackground(null);
|
if (itemData.isState()) {
|
holder.item_right_icon_iv.setBackground(AppCompatResources.getDrawable(mContext, R.drawable.select));
|
}
|
if (position == this.mList.size() - 1) {
|
holder.item_bottom_line_v.setVisibility(View.GONE);
|
}
|
holder.itemView.setTag(position);//标记位置
|
holder.itemView.setOnClickListener(new View.OnClickListener() {
|
@Override
|
public void onClick(View v) {
|
try {
|
if (noOnclickListener != null) {
|
noOnclickListener.onClick((int) holder.itemView.getTag(), itemData);
|
}
|
} catch (Exception ignored) {
|
}
|
}
|
});
|
} catch (Exception e) {
|
HdlLogLogic.print(e.getMessage(), false);
|
}
|
|
}
|
|
@Override
|
public int getItemCount() {
|
return this.mList == null ? 0 : this.mList.size();
|
}
|
|
|
public void setList(List<ItemData> 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;
|
}
|
|
|
}
|
|
}
|