RecyclerView
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