package com.netease.nim.uikit.team.adapter; import android.content.Context; import android.support.v7.widget.RecyclerView; import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; import com.netease.nim.uikit.R; import com.netease.nim.uikit.team.viewholder.TeamMemberListHolder; import com.netease.nimlib.sdk.team.model.TeamMember; import java.util.List; /** * Created by hzchenkang on 2016/12/2. */ public class TeamMemberListAdapter extends RecyclerView.Adapter<TeamMemberListHolder> implements View.OnClickListener{ public interface ItemClickListener{ void onItemClick(TeamMember member); } private Context context; private List<TeamMember> members; private ItemClickListener listener; public TeamMemberListAdapter(Context context) { this.context = context; } public void updateData(List<TeamMember> members) { this.members = members; notifyDataSetChanged(); } public void setListener(ItemClickListener listener) { this.listener = listener; } @Override public TeamMemberListHolder onCreateViewHolder(ViewGroup parent, int viewType) { if (context == null) { return null; } LayoutInflater inflater = LayoutInflater.from(context); View v = inflater.inflate(R.layout.nim_team_member_list_item, parent, false); v.setOnClickListener(this); return new TeamMemberListHolder(v); } @Override public void onBindViewHolder(TeamMemberListHolder holder, int position) { if (members == null || members.size() <= position) { return; } TeamMember member = members.get(position); holder.refresh(member); } @Override public int getItemCount() { return members == null ? 0 : members.size(); } @Override public void onClick(View v) { TeamMember member = (TeamMember) v.getTag(); if (listener != null) { listener.onItemClick(member); } } }