RecyclerView的学习
来源:互联网 发布:淘宝上伊芙丽假货多吗 编辑:程序博客网 时间:2024/06/04 20:43
1.首先在app下的gradle中添加RecyclerView的依赖包:compile'com.android.support:recyclerview-v7:26.0.0-alpha1'
2.设计基本思路(具体请看代码):
核心:数据的展示(终极目的)
a.数据的传输方式
b.数据的展示途径
我们的目的就是将想要显示的数据显示到界面上,那么执行的也就是两种操作,一种是获取相关的数据,包括整理数据,传递数据。另一种就是界面的获取和设置,包括控件的获取。
这里adpter主要是起到设置界面和传递数据的作用,具体的itemview的操作全都放置在了ViewHolder中执行。
思维导图(第一次用)展示逻辑如下:
这是我手绘的逻辑图(《android编程权威指南》第八章的代码逻辑图):
注意的几点问题:
1.RecyclerView获取的时候一定要设置LayoutManager,它决定显示的方式是竖直列表还是水平列表的形式。
2.抽象类SingleFragmentActivity的作用是提高了扩展性和减少了重复代码的书写;FragmentManager管理所有的Fragment. 而RecyclerView管理所有的itemview。
3.代码中的数据传输方式很不错(我只是抄袭^o^).
4.在抽象类的activity中,注意onCreate方法是哪一个,不对是无法获得相应的activity的。
5.RecyclerView的机制:它类似与一个容器,每一个item都有一个ViewHolder,都会显示一个view,它管理了所有的item。当item显示在界面上的时候,加载;当item不在界面的时候,item会被回收,当再次出现在界面上的时候才会被加载。
6.题外话:写代码思路是很重要的,它决定了你实现的代码结构的优美与否。而我的思路就是获得数据和显示数据这两种方式的结合来完成。
Demo git地址:https://github.com/fengjw1/AndroidProgrammingGuide.git
里面的RecyclerViewDemo 包含了上传的思维导图。
关于删除RecyclerView中item导致错乱问题的解决思路:
每次删除的时候删除的是内容,位置信息positon没有刷新(结构没有改变),如果使用notifyDataChanaged()会导致添加的动画效果无法体现。所以只能进行局部刷新,使用notifyItemRangeRemoved(posion, List.size() - posion),将当前删除的item以及之后的结构进行刷新,来确保位置的正确性,同时动画效果可以保持。
阅读全文
0 0
- RecyclerView的使用学习
- RecyclerView的学习
- recyclerView 的学习
- RecyclerView的学习理解
- RecyclerView的学习理解
- RecyclerView的学习
- RecyclerView 的学习
- 学习RecyclerView的一些东西
- Android RecyclerView的使用学习
- RecyclerView的学习与运用
- Android学习--RecyclerView的使用
- RecyclerView 的 ItemDecoration 学习纪录
- RecyclerView学习
- RecyclerView学习
- 【学习】RecyclerView
- RecyclerView学习
- RecyclerView学习
- RecyclerView学习
- 月亮?是啊,今晚的月亮真美啊。
- xshell连接VM虚拟机上下左右及退格键不正常问题
- 双边滤波算法原理
- 【二进制划分集合 最短路】HDU6166 Senior Pan
- SpringMVC详解(二)------详细架构
- RecyclerView的学习
- ros 机器人操作系统 安装
- Transmission框架解析
- maven中心仓库地址
- HDU 4734 F(x)【数位dp+memset优化】
- hdfs读取写入工作原理
- cf Educational Codeforces Round 25 C. Multi-judge Solving
- VS中CUDA版本升级
- 隐马尔科夫模型(HMM)讲解