android RecyclerView adapter

public class MyAdapter extends RecyclerView.Adapter {

    private Context context;
    private List<String> mList;

    public MyAdapter(Context context, List<String> mList) {
        this.context = context;
        this.mList = mList;
    }

    @Override
    public RecyclerView.ViewHolder onCreateViewHolder(ViewGroup parent, int viewType) {
        View view = LayoutInflater.from(parent.getContext()).inflate(R.layout.item, parent, false);
        return new MyViewHolder(view);
    }

    @Override
    public void onBindViewHolder(RecyclerView.ViewHolder holder, final int position) {
        // 如果是 MyViewHolder
        if (holder instanceof MyViewHolder) {
            MyViewHolder myViewHolder = (MyViewHolder) holder;
            myViewHolder.tv_name.setText(mList.get(position));
            myViewHolder.tv_name.setOnClickListener(new View.OnClickListener() {
                @Override
                public void onClick(View view) {
                    if (onItemOnClickLister != null) {
                        onItemOnClickLister.setOnItemLister(position);
                    }
                }
            });

        }

    }

    @Override
    public int getItemCount() {
        return mList.size();
    }

    class MyViewHolder extends RecyclerView.ViewHolder {
        private TextView tv_name;
        public MyViewHolder(View itemView) {
            super(itemView);
            tv_name = itemView.findViewById(R.id.tv_name);

        }
    }

    private OnItemClickListener onItemOnClickLister;

    public void setOnItemOnClickLister(OnItemClickListener onItemOnClickLister) {
        this.onItemOnClickLister = onItemOnClickLister;
    }

    interface OnItemClickListener {
        void setOnItemLister(int position);
    }

}
 

猜你喜欢

转载自blog.csdn.net/u010507199/article/details/80251371