会话列表事件监听
更新时间: 2025/05/28 17:08:15
IM UIKit 会话列表列表模块(nim_conversationkit_ui
)针对一些通用的点击事件通过参数对外暴露。您可以在这些通过传入方法实现自己的点击事件逻辑,如果您不传入对应的参数方法,将会运行默认逻辑。如果我们提供的参数不满足您的需求,也可以通过修改源码的方式实现自己的业务需求。
所有回调参数返回值为 bool,您在实现的时候如果返回 true,将不会走默认实现,返回 false 则会先执行您注入的实现,然后执行默认实现。
通过传入方法参数
会话列表项点击事件
通过 ConversationItemConfig
进行事件配置,设置会话列表界面的点击事件。
-
方法说明
方法名称 方法说明 参数说明 itemClick
会话列表界面会话项点击事件 itemClick
的参数如下:data
:会话列表 Item 数据,类型为ConversationInfo
,代表 会话列表 的会话列表项数据。ConversationInfo
详情参见下文的 ConversationInfo 说明。position
:被点击的会话列表项 Item 在列表中的位置itemLongClick
会话列表界面会话项长按事件 itemLongClick
的参数如下:data
:会话列表 Item 数据,类型为ConversationInfo
,代表 会话列表 的会话列表项数据。ConversationInfo
详情参见下文的 ConversationInfo 说明。position
:被点击的会话列表项 Item 在列表中的位置avatarClick
会话列表界面会话项图标点击事件 avatarClick
的参数如下:data
:会话列表 Item 数据,类型为ConversationInfo
,代表 会话列表 的会话列表项数据。ConversationInfo
详情参见下文的 ConversationInfo 说明。position
:被点击的会话列表项 Item 在列表中的位置avatarLongClick
会话列表界面会话项图标长按事件 avatarLongClick
的参数如下:data
:会话列表 Item 数据,类型为ConversationInfo
,代表 会话列表 的会话列表项数据。ConversationInfo
详情参见下文的 ConversationInfo 说明。position
:被点击的会话列表项 Item 在列表中的位置<
下图中红框所示的单个消息区域即为一个 会话列表 Item。
-
ConversationInfo 说明
ConversationInfo
为会话列表项数据实体类,其成员参数见下表。参数 类型 说明 conversation
NIMConversation
会话信息。 targetId
String 会话接收者 ID,用户 ID 或者群 ID 。 haveBeenAit
bool
是否有未读的被@的信息。
示例代码
-
全局配置,全局生效。
dart
// 1. 通过全局 config 配置 ConversationKitClient.instance.conversationUIConfig = ConversationUIConfig( itemConfig:ConversationItemConfig( // 会话项点击回调 itemClick: (data, position){ return true; }, // 会话项长按回调 itemLongClick: (data, position){ return true; }, // 会话项头像点击回调 avatarClick: (data, position){ return true; }, // 会话项头像长按回调 avatarLongClick: (data, position){ return true; } ) );
-
针对指定页面的配置,优先级高于全局配置 。
dart
// 2. 针对指定页面的配置,优先级高于全局配置 ConversationPage(config: ConversationUIConfig( itemConfig: ConversationItemConfig( // 会话项点击回调 itemClick: (data, position){ return true; }, // 会话项长按回调 itemLongClick: (data,position){ return true; }, // 会话项头像点击回调 avatarClick: (data,position){ return true; }, // 会话项头像长按回调 avatarLongClick: (data,position){ return true; } ) ) );
此文档是否对你有帮助?