package com.hdl.photovoltaic.widget.adapter; import android.content.Context; import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; import android.widget.TextView; import androidx.annotation.NonNull; import androidx.recyclerview.widget.RecyclerView; import com.hdl.photovoltaic.R; import java.util.List; public class TypeListDialogAdapter extends RecyclerView.Adapter { private List mList; private final Context mContext; String mSelectType; private TypeListDialogAdapter.OnclickListener itemOnclickListener;//点击了的监听器 public TypeListDialogAdapter(List list, Context context, String selectType) { this.mList = list; this.mContext = context; this.mSelectType = selectType; } @NonNull @Override public TypeListDialogAdapter.MyViewHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) { View view = LayoutInflater.from(parent.getContext()).inflate(R.layout.item_type_title, parent, false); return new TypeListDialogAdapter.MyViewHolder(view); } @Override public void onBindViewHolder(@NonNull TypeListDialogAdapter.MyViewHolder holder, int position) { String title = this.mList.get(position); holder.type_title_tv.setText(title); holder.itemView.setTag(position); if (position == this.mList.size() - 1) { holder.type_line_v.setVisibility(View.GONE); } holder.type_title_tv.setTextColor(mContext.getColor(R.color.text_FF8E8E8E)); if (mSelectType.equals(title)) { holder.type_title_tv.setTextColor(mContext.getColor(R.color.text_FFACACAC)); } holder.itemView.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { try { if (itemOnclickListener != null) { itemOnclickListener.onClick((int) holder.itemView.getTag(), title); } } catch (Exception ignored) { } } }); } @Override public int getItemCount() { return this.mList == null ? 0 : this.mList.size(); } public void setList(List list) { this.mList = list; } public void setItemOnclickListener(TypeListDialogAdapter.OnclickListener onclickListener) { this.itemOnclickListener = onclickListener; } /** * 一行布局容器 */ static class MyViewHolder extends RecyclerView.ViewHolder { public TextView type_title_tv; public View type_line_v; public MyViewHolder(@NonNull View itemView) { super(itemView); type_title_tv = itemView.findViewById(R.id.type_title_tv); type_line_v = itemView.findViewById(R.id.type_line_v); } } public interface OnclickListener { void onClick(int position, String title); } }