RecyclerView的使用和优化

来源:互联网 发布:什么看书软件免费 编辑:程序博客网 时间:2024/06/06 04:15

1.RecyclerView的使用:

mRecyclerView = (RecyclerView)findViewById(R.id.recyclerView);// 设置成水平方向,2列.比起Listview来讲,非常方便mRecyclerView.setLayoutManager(new StaggeredGridLayoutManager(2, StaggeredGridLayoutManager.HORIZONTAL));//设置adaptermRecyclerView.setAdapter(adapter)//设置Item增加、移除动画mRecyclerView.setItemAnimator(new DefaultItemAnimator());//RecycleView 增加边距int spacingInPixels = 43;mRecyclerView.addItemDecoration(new SpacesItemDecorationLarge(spacingInPixels));


2.自定义点击事件:

1>adapter中:

public static interface OnRecyclerViewItemClickListener {//自定义接口,设置参数,如有需要可把位置设置进去    void onItemClick(View view);}private OnRecyclerViewItemClickListener mOnItemClickListener = null;public void setOnItemClickListener(OnRecyclerViewItemClickListener listener) {    mOnItemClickListener = listener;}

       2>在onCreateViewHolder中,设置点击事件:

//将创建的View注册点击事件        view.setOnClickListener(this);        return new ViewHolder(view) ;


3>在onclick中:设置未实现的方法

@Override    public void onClick(View v) {        if (mOnItemClickListener != null) {            mOnItemClickListener.onItemClick(v);        }    }



优化:

//第一步 Adapter自定义的Adapter   public static class ViewHolder extends RecyclerView.ViewHolder {        RelativeLayout layout_close;        RelativeLayout layout_open;        TextView       how_much_num;}// 构造函数中,找到控件public ViewHolder(View view) {            super(view);            layout_close = (RelativeLayout) view.findViewById(R.id.reLayout_close);            layout_open = (RelativeLayout) view.findViewById(R.id.relayout_open);            how_much_num = (TextView) view.findViewById(R.id.how_much_num);}//在onBindViewHolder中设置控件 holder.how_much_num.setText(luckMoney.getGiftNum());          holder.tv1_open.setText(luckMoney.getExecutionName());





原创粉丝点击