美文网首页
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