页面事件监听
Global IM UIKit 支持监听会话列表页面和会话页面上的点击、长按事件,应用程序可以相应的方法中拦截并实现自定义需求。
监听会话列表页面事件
Global IM UIKit 提供了会话列表监听器 [ChatListBehaviorListener],可监听会话列表中针对会话 item 的长按与点击事件。
使用 ConfigCenter.getChatListConfig().setChatListBehaviorListener()
方法设置监听器。
ConfigCenter.getChatListConfig().setChatListBehaviorListener(listener);
长按会话事件
在会话列表中长按单个会话时触发以下方法。SDK 默认会打开多选模式。
boolean onChatLongClick(Context context, View view, BaseChatModel model)
参数 | 类型 | 说明 |
---|---|---|
context | Context | 上下文 |
view | View | 触发点击的 View |
model | BaseChatModel | 长按的会话 |
如果需要自定义处理此长按事件,返回 true
;否则返回 false
,继续执行 SDK 默认逻辑。
点击会话事件
在会话列表中点击会话 item 时触发以下方法。触发该点击事件时,SDK 默认跳转逻辑如下:
- 如果是聚合会话,跳转到聚合会话列表页面。
- 如果是非聚合会话,跳转到会话页面。
boolean onChatClick(Context context, View view, BaseChatModel model)
参数 | 类型 | 说明 |
---|---|---|
context | Context | 上下文 |
view | View | 触发点击的 View |
model | BaseChatModel | 点击的会话 |
如果需要自定义处理此长按事件,返回 true
;否则返回 false
,继续执行 SDK 默认逻辑。
监听会话页面事件
Global IM UIKit 提供了会话列表监听器 [ChatBehaviorListener],可监听会话页面中针对消息 item 和消息头像的长按与点击事件。
使用 ConfigCenter.getChatConfig().setChatBehaviorListener()
方法设置监听器。
ConfigCenter.getChatConfig().setChatBehaviorListener(listener);
点击消息事件
boolean onMessageClick(Context context, View view, Message message);
参数 | 类型 | 说明 |
---|---|---|
context | Context | 上下文 |
view | View | 触发点击的 View |
message | Message | 被点击的消息的实体信息 |
如果用户自己处理了点击后的逻辑处理,则返回 true
;否则返回 false
,继续执行 SDK 的默认逻辑。
长按消息事件
boolean onMessageLongClick(Context context, View view, Message message);
参数 | 类型 | 说明 |
---|---|---|
context | Context | 上下文 |
view | View | 触发点击的 View |
message | Message | 被点击的消息的实体信息 |
如果用户自己处理了长按后的逻辑处理,则返回 true
;否则返回 false
,继续执行 SDK 默认逻辑。
点击消息上的用户头像事件
boolean onUserPortraitClick(Context context, Message message);
参数 | 类型 | 说明 |
---|---|---|
context | Context | 上下文 |
message | Message | 被点击的消息的实体信息 |
如果自己处理了点击后的逻辑处理,则返回 true
;否则返回 false
,继续执行 SDK 默认逻辑。
长按消息上的用户头像事件
长按消息上的用户头像(图标)时触发以下方法。SDK 默认跳转到 @功能的选择用户界面。
boolean onUserPortraitLongClick(Context context, Message message);
参数 | 类型 | 说明 |
---|---|---|
context | Context | 上下文 |
message | Message | 被点击的消息的实体信息 |
如果用户自己处理了点击后的逻辑处理,则返回 true
;否则返回 false
,继续执行 SDK 的默认逻辑。