美文网首页
RecyclerView控件

RecyclerView控件

作者: 夺命404 | 来源:发表于2019-10-18 11:54 被阅读0次

    Recycler是当前主流的控件,使用RecyclerView控件不能为每个控件设置点击事件,需要开发者自己实现。引入这些操作这里就不介绍了

    设置布局

    在使用RecyclerView时候,必须指定一个适配器Adapter和一个布局管理器LayoutManager。适配器继承RecyclerView.Adapter类,可以根据业务需求扩展每个item呈现的样式和数据的展示.

    配置每个item之间的间隔样式直接继承RecyclerView的ItemDecoration这个类,然后针对自己的业务需求去书写代码

    设置布局管理器以控制Item的布局方式,横向、竖向以及瀑布流方式
    
    recyclerView = (RecyclerView) findViewById(R.id.recyclerView);  
    
    LinearLayoutManager layoutManager = new LinearLayoutManager(this );  //  线性布局方式
    GridLayoutManager gridLayoutManager = new GridLayoutManager(this);  // 网格布局方式
    StaggeredGridLayoutManager staggeredGridLayoutManager = new StaggeredGridLayoutManager(this);  // 瀑布流的方法
    
    //设置布局管理器  
    recyclerView.setLayoutManager(layoutManager);
    //设置为垂直布局,这也是默认的  
    layoutManager.setOrientation(OrientationHelper. VERTICAL);
    //设置Adapter  
    recyclerView.setAdapter(recycleAdapter);  
     //设置分隔线
    recyclerView.addItemDecoration( new DividerGridItemDecoration(this ));  
    //设置增加或删除条目的动画
    recyclerView.setItemAnimator( new DefaultItemAnimator());
    

    为RecyclerView的每项设置点击事件(利用回调的方式)

    先在定义的适配器Adapter中定义一个接口

        public interface OnItemClickListener {
            void onItemClick(int position);
        }
    

    在自定义的Adapter中声明一个变量和一个设置接口的方法,这样可以用adapter设置事件

    private OnItemClickListener mItemClickListener;
    
    public void setOnItemClickListener(OnItemClickListener itemClickListener) {
            this.mItemClickListener = itemClickListener;
    }
    

    自义定Adapter中实现的onBindViewHolder方法中调用自定义的Holder可以直接拿到每项的视图设置点击事件

    if (mItemClickListener != null) {
                holder.itemView.setOnClickListener(new View.OnClickListener() {
                    @Override
                    public void onClick(View v) {
                        // 这里利用回调来给RecyclerView设置点击事件
                        mItemClickListener.onItemClick(position);
                    }
                });
            }
    

    喜欢的话点个赞吧!

    相关文章

      网友评论

          本文标题:RecyclerView控件

          本文链接:https://www.haomeiwen.com/subject/kxlimctx.html