RecycleView使用
来源:互联网 发布:人工智能从入门到精通 编辑:程序博客网 时间:2024/06/06 03:10
1.它需要在xml布局文件中定义
2.它需要显示的指定ViewHolder它要继承RecyclerView.ViewHolder
在它的里面你要把所有的控件查找好并并提供方法来获取这些控件对象(最好就让它为public 直接可以获取字段)
3.创建一个Adapter它需要继承RecyclerView.Adapter<T> T就是你定义的ViewHolder
你需要复写onCreateViewHolder(它返回为ViewHolder(也可以是你自定义的ViewHolder对象))
它里面的操作就是利用inflater加载xml中布局生成View对象再传入到你的ViewHolder中
在复写一个onBindView它是用于设置数据的
getItemCount就不用多说了它决定你显示最终最大个数
4.在Activity中使用:
先获取RecycleView对象,在调用它的setAdapter方法
注意它调用setAdapter还是无法让数据显示出来。这时还要调用setLayoutManager
这个方法的常用参数有3中:
1》new LinearLayoutManager(this,LinearLayoutManager.VERTICAL,false)//垂直滑动
2》new LinearLayoutManager(this,LinearLayoutManager.HORIZONTAL,false)//水平滑动
3》new GridLayoutManager(this,4)//grid布局
4》new StaggeredGridLayoutManager(3,StaggeredGridLayoutManager.VERTICAL)//瀑布流布局
设置这些就可以显示啦
注意:
RecycleView上面有些方法有点不好用:
recyclerView.setItemAnimator(new DefaultItemAnimator());//设置删去的默认动画效果
adapter.notifyItemRemoved(position);//只有它们配合使用才有效果
那问题来了?
你打印出它的onBindView方法可知,你进行删除时它只会调用新显示的数据。旧的数据没有更新调用。
如果你是给每个Item上的View设置点击事件删去那么你可能会发现它删的不是你点的View。原因就是
它没有将页面的数据刷新。效率高必然会有些问题给我们。
2.它需要显示的指定ViewHolder它要继承RecyclerView.ViewHolder
在它的里面你要把所有的控件查找好并并提供方法来获取这些控件对象(最好就让它为public 直接可以获取字段)
3.创建一个Adapter它需要继承RecyclerView.Adapter<T> T就是你定义的ViewHolder
你需要复写onCreateViewHolder(它返回为ViewHolder(也可以是你自定义的ViewHolder对象))
它里面的操作就是利用inflater加载xml中布局生成View对象再传入到你的ViewHolder中
在复写一个onBindView它是用于设置数据的
getItemCount就不用多说了它决定你显示最终最大个数
4.在Activity中使用:
先获取RecycleView对象,在调用它的setAdapter方法
注意它调用setAdapter还是无法让数据显示出来。这时还要调用setLayoutManager
这个方法的常用参数有3中:
1》new LinearLayoutManager(this,LinearLayoutManager.VERTICAL,false)//垂直滑动
2》new LinearLayoutManager(this,LinearLayoutManager.HORIZONTAL,false)//水平滑动
3》new GridLayoutManager(this,4)//grid布局
4》new StaggeredGridLayoutManager(3,StaggeredGridLayoutManager.VERTICAL)//瀑布流布局
设置这些就可以显示啦
注意:
RecycleView上面有些方法有点不好用:
recyclerView.setItemAnimator(new DefaultItemAnimator());//设置删去的默认动画效果
adapter.notifyItemRemoved(position);//只有它们配合使用才有效果
那问题来了?
你打印出它的onBindView方法可知,你进行删除时它只会调用新显示的数据。旧的数据没有更新调用。
如果你是给每个Item上的View设置点击事件删去那么你可能会发现它删的不是你点的View。原因就是
它没有将页面的数据刷新。效率高必然会有些问题给我们。
0 0
- RecycleView使用
- RecycleView使用
- recycleview使用
- Android RecycleView---- RecycleView的简单使用
- Recycleview的使用
- 浅谈RecycleView使用
- RecycleView的使用
- RecycleView使用体验(一)
- RecycleView使用体验(二)
- RecycleView使用小节
- RecycleView 的使用
- Android RecycleView的使用
- RecycleView的简单使用
- RecycleView 的使用
- RecycleView简单使用
- RecycleView的基础使用
- Recycleview 使用中的问题
- RecycleView使用问题梳理
- mysql简易安装配置教程
- Broker、Agent和Proxy
- API设计过程中的思考
- java 获取HttpRequest Header 的几种方法
- Android 事件总线OTTO用法快速入门
- RecycleView使用
- Qt无边框窗口, 设置最小化后, 再还原,所有子控件不刷新
- Java学习知识合集
- C/C++中枚举类型enum使用
- MATLAB学习笔记
- 静态方法与实例方法
- MongDB
- centos中yum采用光盘为软件安装源
- DrawerLayout使用