首先是,要实现置顶聊天,那么我们就要有两个List集合,一个是置顶的,一个是不是置顶的。这里,环信给出了EMConversation的一个方法,带大家看看技术文档。
看下这个文档里面说的非常清楚,也就是扩展字段,设置一个扩展字段我们才知道这条Conversation的特别之处,然后去判断这个会话有没有设置扩展消息,有的话,那就排到置顶的那个集合里面去。
实现的步骤:(需要动到的类:EaseConversationListFragment)
1.在EaseConversationListFragment中定义一个新容器,用来保存置顶的会话
2.在loadConversationList()方法中根据conversation.getExtField()的值是否是我们设置置顶会话的扩展字段(此处假设扩展字段为"is_top"),如果收到的扩展字段是is_top,则将该条会话保存到会话置顶容器中,否则保存到不是置顶容器中,如下图:
3.自定义对置顶会话容器进行排序(这个可随意,看自己想要怎么排就怎么排),这边给个简单的例子
4.在setUpView()方法中对会话列表数据进行组装(将置顶的会话和非置顶的会话整合到一个容器中)
5.在会话列表更新回调里也要记得重新组装数据呦!!!
6.通过以上5个步骤后,恭喜你,万事俱备,只欠去为某一个会话设置置顶或者取消置顶功能
至此,为环信IM的聊天设置会话置顶的功能已经全部实现,如有疑问,欢迎您的留言哈,后期还会不断的更新Android实际开发过程中遇到的一些问题。