在Android中,你可以使用BaseQuickAdapter实现列表的显示,也可以使用BaseMultiItemQuickAdapter实现多类型类别的显示。当你想做到类型布局的复用时,那么你应该使用BaseItemProvider。
首先你要定义一个Entry类,比如聊天消息。然后每一种消息类型,你可以继承BaseItemProvider,例如文字类型的、语音类型的、图片类型的、名片类型的、转账类型的、红包类型的、文件类型的等。
然后你可以在这些Provider中依赖聊天消息适配器的基类,这里面就有单聊适配器和群聊适配器,通常这两种聊天房间的界面大同小异,所以你可以很好的扩展新的消息类型在单聊和群聊的显示。Adapter继承自BaseProviderMultiAdapter。在构造方法中调用很多次addItemProvider()方法来添加消息item的类型。然后重写BaseProviderMultiAdapter的getItemType()方法来将Entry中的消息类型字段返回,判断该聊天消息使用何种Provider,因为BaseItemProvider的子类也要重写getItemViewType(),只不过它是指定具体的一种类型。
阅读量:398
点赞量:0
收藏量:0