仿微信聊天列表之RecyclerView多布局

来源:互联网 发布:玩游戏 知乎 编辑:程序博客网 时间:2024/05/11 22:26

背景

最近在做关于聊天的项目,需要用到RecyclerView多布局,然而在网上却没有比较详细的讲解,于是萌生了自己写一篇的念头,可能写的不好,不喜勿喷。转载请标明出处,原创不易


效果图

不废话直接先上效果图:




代码

既然说到RecyclerView,那就不能不提RecyclerViewAdapter,首先我们要有一个类继承RecyclerView.Adapter,有三个必须重写的方法:


1、onCreateViewHolder(ViewGroup parent, int viewType),这个方法的作用判断选择哪个布局,有两个参数,第一个是viewHolder的容器,第二个参数相当于一个标识,根据标识可以绑定具体的ViewHolder。


2、onBindViewHolder(final RecyclerView.ViewHolder holder, int position),根据方法名,我们就可以大概知道他是绑定布局的,同样有两个参数,position是当前那一行所在的位置,来看代码




既然能绑定指定的item,当然就能给指定的item设置点击事件了,我设置的点击事件是,点击吐司当前的position,长按删除当前item。

3、getItemCount(),这个方法比较简单,绑定RecyclerView Item的数量


4、要实现绑定多布局最关键的方法啦,getItemViewType(int position),一个参数,根据当前的position指向指定布局,也就是为onCreateViewHolder方法提供第二个参数。




5、然后再来看先下ViewHolder和点击事件是怎么写的吧




6、最后再来看看Activity是实现的吧



这里简单的说明一下,楼主用到了ButterKnife注解库,如果你没用过,那么完全没关系,用到的控件findviewbyid一下就好啦,不过这个注解库确实挺强大的,推荐学习下,网上有好多教程的,如果还不会,给我留言我可以教你。哈哈,不能说教,共同进步,共同进步…

End

楼主也是才接触RecyclerView控件不久,也是菜鸟一名,可能理解的不是很透彻,哪里写的不对或有什么问题欢迎在下面给我评论,喜欢的话给我点赞哦。


本文源码,点我点我..

2 0
原创粉丝点击