355_封装RecyclerView的Adapter

来源:互联网 发布:数据分析是做什么的 编辑:程序博客网 时间:2024/05/10 17:56




封装RecyclerView的Adapter




简单封装


public abstract class RecyclerViewAdapter<T> extends RecyclerView.Adapter {


    private Context context;
    private int layoutId;
    private List<T> list;


    public RecyclerViewAdapter(Context context, int layoutId, List<T> list) {
        this.context = context;
        this.layoutId = layoutId;
        this.list = list;
    }


    @Override
    public RecyclerView.ViewHolder onCreateViewHolder(ViewGroup parent, int viewType) {
        View view = LayoutInflater.from(context).inflate(layoutId, parent, false);
        return new ViewHolder(view);
    }


    @Override
    public void onBindViewHolder(RecyclerView.ViewHolder holder, int position) {
        initViewHolder((ViewHolder) holder);
    }


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


    public class ViewHolder extends RecyclerView.ViewHolder {


        private View view;


        public ViewHolder(View itemView) {
            super(itemView);
            this.view = itemView;
        }


        public View getView(int id) {
            View view = this.view.findViewById(id);
            return view;
        }
    }


    public abstract void initViewHolder(ViewHolder holder);
}

0 0
原创粉丝点击