RecyclerView

coding

RecyclerView :

1、升级版的ListView、GridView、瀑布流 支持横向纵向滑动

2、RecyclerView 的使用需要LayoutManager 进行布局管理

    1>、LinearLayoutManager 线性布局管理器 -->可以横向或纵向的ListView展示效果

    2>、GridLayoutManager 网格布局管理器 -->可以横向或纵向的GridView展示效果

    3>、StaggeredDridLayoutManager 瀑布流管理器

3、具体的步骤

    1>、将RecyclerView添加到布局中 在代码当中找到该组件

    2>、实列化布局管理器 (以线性布局为例)

LinearLayoutManager manager = new LinearLayoutManager(this, LinearLayoutManager.VERTICAL, false);

recyclerview.setLayoutManager(manager);//添加布局管理器

     3>、找数据源(RecyclerView和ListView的用法步骤相差无几)

     4>、给RecyclerView设置适配器(自定义适配器)

    5>、RecyclerView的适配器是自定义一个类继承RecyclerView.Adapter

            a、实现该类需要指定泛型类型 一般该类型为自己定义的一个类继承RecyclerView.ViewHolder

并且实现它的构造方法   

            b、然后实现它的方法 分别是

                onCreateViewHilder(); //创建ViewHolder的时候调用

                onBindViewHilder();//绑定数据时调用(所有的数据都在该方法中加载)

                getItemCount();//集合中要展示的数据的数量

        d、将适配器实列化后添加到RecyclerView的setAdapter()中

    6>、RecyclerView自身是没有点击事件的,所以直接在适配器中定义一个接口

public interface OnItemClickListener{

public void onItemClickListener(int postion);//点击事件

public void onItemLongClickListener(int postion);//长按点击事件

}

  而自定义Viewolder的构造方法中的ItemView有两个方法setOnClickListener();、setOnLongClicklistener()

所以在这两个方法中调用上边自定义的接口中的方法

itemView.setOnClickListener(new View.OnClickListener() {

@Override

public void onClick(View v) {

//获取itemView的位置

int childPostion = recyclerView.getChildAdapterPosition(itemView);

//监听的方法

listener.onItemClickListener(childPostion);

}

});

itemView.setOnLongClickListener(new View.OnLongClickListener() {

@Override

public boolean onLongClick(View v) {

int childAdapterPosition = recyclerView.getChildAdapterPosition(itemView);

listener.onItemLongClickListener(childAdapterPosition);

return true;

}

});

这样就可以使用“RecyclerView”的点击和长按事件了

新手上路 不喜勿喷 欢迎指导错误 如有雷同 纯属巧合

以上是 RecyclerView 的全部内容, 来源链接: utcz.com/z/508855.html

回到顶部