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.TextView; import androidx.annotation.NonNull; import androidx.recyclerview.widget.RecyclerView; import com.hdl.photovoltaic.R; import java.util.ArrayList; import java.util.List; /** * 历史记录适配器 */ public class SearchHistoryAdapter extends RecyclerView.Adapter { List mList; Context mContext; OnClickListener mOnclickListener; public SearchHistoryAdapter(Context context) { this.mContext = context; } @NonNull @Override public SearchHistoryAdapter.MyViewHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) { View view = LayoutInflater.from(parent.getContext()).inflate(R.layout.item_history_title, parent, false); return new MyViewHolder(view); } @Override public void onBindViewHolder(@NonNull SearchHistoryAdapter.MyViewHolder holder, int position) { String history_title = this.mList.get(position); holder.history_title_tv.setText(history_title); holder.itemView.setTag(position); if (position == 0) { holder.line_top.setVisibility(View.VISIBLE); } holder.itemView.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { try { if (mOnclickListener != null) { mOnclickListener.onClick((int) holder.itemView.getTag(), history_title); } } 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 newData) { if (this.mList == null) { this.mList = new ArrayList<>(); } else { this.mList.clear(); } this.mList.addAll(newData); notifyDataSetChanged(); } public interface OnClickListener { void onClick(int position, String title); } static class MyViewHolder extends RecyclerView.ViewHolder { public TextView history_title_tv; public View line_top; public MyViewHolder(@NonNull View itemView) { super(itemView); history_title_tv = itemView.findViewById(R.id.history_title_tv); line_top = itemView.findViewById(R.id.line_top); } } }