78 lines
2.1 KiB
Java
78 lines
2.1 KiB
Java
package com.yunbao.faceunity.adapters;
|
|
|
|
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.recyclerview.widget.RecyclerView;
|
|
|
|
import com.yunbao.common.adapter.OnItemClickListener;
|
|
import com.yunbao.faceunity.R;
|
|
import com.yunbao.faceunity.entity.MenuGroupBean;
|
|
|
|
import java.util.List;
|
|
|
|
/**
|
|
* 主菜单适配器
|
|
*/
|
|
public class MenuGroupRecyclerAdapter extends RecyclerView.Adapter<MenuGroupRecyclerAdapter.Vh> {
|
|
private Context context;
|
|
private List<MenuGroupBean> list;
|
|
private OnItemClickListener onItemClickListener;
|
|
|
|
public MenuGroupRecyclerAdapter(Context context) {
|
|
this.context = context;
|
|
}
|
|
|
|
public void setOnItemClickListener(OnItemClickListener onItemClickListener) {
|
|
this.onItemClickListener = onItemClickListener;
|
|
}
|
|
|
|
public void setList(List<MenuGroupBean> list) {
|
|
this.list = list;
|
|
}
|
|
|
|
@NonNull
|
|
@Override
|
|
public Vh onCreateViewHolder(@NonNull ViewGroup parent, int viewType) {
|
|
return new Vh(LayoutInflater.from(context).inflate(R.layout.list_item_menu_group, parent, false));
|
|
}
|
|
|
|
@Override
|
|
public void onBindViewHolder(@NonNull Vh holder, int position) {
|
|
holder.setData(list.get(position));
|
|
}
|
|
|
|
@Override
|
|
public int getItemCount() {
|
|
return list.size();
|
|
}
|
|
|
|
|
|
protected class Vh extends RecyclerView.ViewHolder {
|
|
ImageView icon;
|
|
TextView title;
|
|
|
|
public Vh(@NonNull View itemView) {
|
|
super(itemView);
|
|
icon = itemView.findViewById(R.id.item_icon);
|
|
title = itemView.findViewById(R.id.item_text);
|
|
itemView.setOnClickListener(v -> {
|
|
if (onItemClickListener != null) {
|
|
onItemClickListener.onItemClick(getAdapterPosition());
|
|
}
|
|
});
|
|
}
|
|
|
|
public void setData(MenuGroupBean menuGroupBean) {
|
|
icon.setImageResource(menuGroupBean.getIconId());
|
|
title.setText(menuGroupBean.getTitleId());
|
|
}
|
|
|
|
}
|
|
}
|