页面事件监听
IMKit 支持监听会话列表页面和会话页面上的点击、长按事件,应用程序可以相应的方法中拦截并实现自定义需求。
监听会话列表页面事件
IMKit 提供了会话列表监听器 ConversationListBehaviorListener,可监听会话列表中针对会话 item 和会话头像的长按与点击事件。
使用 RongIM
或 IMCenter
的 setConversationListBehaviorListener
方法设置监听器。
Java
RongIM.setConversationListBehaviorListener(listener);
长按会话事件
在会话列表中长按会话 item 时触发以下方法。SDK 默认弹出菜单选项。
Java
boolean onConversationLongClick(Context context, View view, BaseUiConversation conversation)
参数 | 类型 | 说明 |
---|---|---|
context | Context | 上下文 |
view | View | 触发点击的 View |
conversation | BaseUiConversation | 长按的会话 |
如果需要自定义处理此长按事件,返回 true
;否则返回 false
,继续执行 SDK 默认逻辑。
点击会话事件
在会话列表中点击会话 item 时触发以下方法。触发该点击事件时,SDK 默认跳转逻辑如下:
- 如果是聚合会话,跳转到聚合会话列表页面。
- 如果是非聚合会话,跳转到会话页面。
Java
boolean onConversationClick(Context context, View view, BaseUiConversation conversation)
参数 | 类型 | 说明 |
---|---|---|
context | Context | 上下文 |
view | View | 触发点击的 View |
conversation | BaseUiConversation | 点击的会话 |
如果需要自定义处理此长按事件,返回 true
;否则返回 false
,继续执行 SDK 默认逻辑。
点击会话头像事件
点击会话头像(图标)时触发以下方法。SDK 没有默认不处理该事件。
Java
boolean onConversationPortraitClick(Context context, Conversation.ConversationType conversationType, String targetId)
参数 | 类型 | 说明 |
---|---|---|
context | Context | 上下文 |
conversationType | Conversation.ConversationType | 会话类型 |
targetId | String | 会话 Id |
如果需要自定义处理此点击事件,返回 true
。否则返回 false
,不处理该事件。