RecyclerView和ListView实现多视图加载的方法
来源:互联网 发布:windows没有视频设备 编辑:程序博客网 时间:2024/05/22 04:44
在ListView中,Adapter用来将数据加载到视图,实现这一过程的函数为
@Overridepublic View getView(int position, View convertView, ViewGroup parent) {}在其中根据position来判断view所在的行数,不同的行返回不同的视图,这样就可以实现多视图的加载。
而在RecyclerView的Adapter中,主要有三个方法:
@Override public RecyclerView.ViewHolder onCreateViewHolder(ViewGroup parent, int viewType) {}<pre style="background-color:#ffffff;color:#000000;font-family:'Consolas';font-size:13.5pt;"><span style="color:#808000;"></span>
@Override public void onBindViewHolder(RecyclerView.ViewHolder holder, int position) {}
@Override public int getItemCount(){}
其中onCreateViewHolder用来创建视图,onBindViewHolder用来绑定数据。(在ListView中这两个功能全部在getView中完成)。
如果要在RecyclerView中实现多视图的加载,应该重写
@Override public int getItemViewType(int position) { return position; }
返回值为position对应行的视图类型值(整型),默认返回值为0。所以如果不重写getItemViewType,直接在onCreateViewHolder中判断viewType,则其值始终为0,无法实现想要的功能。
重写此方法后,需要两步来完成:
1.在onCreateViewHolder中返回不同的视图
2.在onBindViewHolder中对不同视图绑定不同的参数。
至此就完成了多视图的加载。还是很顺利的。
参考:Heterogenous Layouts inside RecyclerView
stackoverflow.com/questions/29579717/how-to-change-the-viewtype-of-a-recyclerview-item-onclick
0 0
- RecyclerView和ListView实现多视图加载的方法
- RecyclerView实现ListView和GridView的效果
- ListView,RecyclerView等列表中实现分层的方法
- Recyclerview 实现listView的代码
- 使用RecyclerView实现GridView和ListView混排的效果
- 仿照Listview 优雅实现 RecyclerView的 HeaderView 和 FootView
- ListView 和RecyclerView的比较
- RecyclerView 和 ListView的区别
- RecyclerView和ListView的异同
- RecyclerView和ListView的异同
- RecyclerView和ListView的异同
- RecyclerView和ListView的异同
- RecyclerView和listview的比较
- RecyclerView和ListView的异同
- RecyclerView和ListView的异同
- RecyclerView和listview的区别
- listview 和 recyclerview 的比较
- listview和recyclerview多布局
- 山东省第四届蓝桥杯 ///题目标题:前缀判断//c/c++组
- 推送通知(远程推送)
- [细说Java](1)图说字符串的不变性
- uCOS-II学习笔记:实时操作系统(一)
- 快速理解VirtualBox的四种网络连接方式
- RecyclerView和ListView实现多视图加载的方法
- android缩放动画的两种实现方法
- 模板函数练习
- 山东省第四届蓝桥杯 ///标题:三部排序//c/c++组
- SNMP MIB 信息的访问
- 淘宝面试题:如何充分利用多核CPU,计算很大的List中所有整数的和
- grant 权限 on 数据库对象 to 用户@'IP'
- 单项需求卡片模板
- wifi驱动相关