更新时间: 2021-03-08
# 消息列表事件监听
监听消息列表事件. 通过设置监听方法, 可监听 头像点击事件、 消息点击、长按事件 等.
参数说明
参数 | 类型 | 必填 | 说明 | 最低版本 |
---|---|---|---|---|
listener | ConversationClickListener | 否 | 监听 |
示例代码
RongIM.setConversationClickListener(new RongIM.ConversationClickListener() { /** * 用户头像点击事件 * * @param context 上下文。 * @param conversationType 会话类型。 * @param user 被点击的用户的信息。 * @param targetId 会话 id * @return true 拦截事件; false 不拦截, 默认执行 SDK 内部逻辑 */ @Override public boolean onUserPortraitClick(Context context, Conversation.ConversationType conversationType, UserInfo user, String targetId) { return false; } /** * 用户头像长按事件 * * @param context 上下文。 * @param conversationType 会话类型。 * @param user 被点击的用户的信息。 * @param targetId 会话 id * @return true 拦截事件; false 不拦截, 默认执行 SDK 内部逻辑 */ @Override public boolean onUserPortraitLongClick(Context context, Conversation.ConversationType conversationType, UserInfo user, String targetId) { return false; } /** * 消息点击事件 * * @param context 上下文。 * @param view 触发点击的 View。 * @param message 被点击的消息的实体信息。 * @return true 拦截事件; false 不拦截, 默认执行 SDK 内部逻辑 */ @Override public boolean onMessageClick(Context context, View view, Message message) { return false; } /** * 消息超链接内容点击事件 * * @param context 上下文。 * @param link 超链接文本 * @param message 被点击的消息的实体信息。 * @return true 拦截事件; false 不拦截, 默认执行 SDK 内部逻辑 */ @Override public boolean onMessageLinkClick(Context context, String link, Message message) { return false; } /** * 消息长按事件 * * @param context 上下文。 * @param view 触发点击的 View。 * @param message 被点击的消息的实体信息。 * @return true 拦截事件; false 不拦截, 默认执行 SDK 内部逻辑 */ @Override public boolean onMessageLongClick(Context context, View view, Message message) { return false; } });
已复制
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
# 输入区事件监听
如果想要监听输入区的事件监听, 则需创建 MyConversationFragment
继承 ConversationFragment, 然后复写父类方法, 即可监听输入区的事件.
# 发送按钮监听
复写 onSendToggleClick
代码示例
class MyConversationFragment extends ConversationFragment { /** * 发送按钮监听 * @param view 发送控件 * @param text 发送文本 */ @Override public void onSendToggleClick(View view, String text) { super.onSendToggleClick(v, text); } }
已复制
1
2
3
4
5
6
7
8
9
10
11
12
2
3
4
5
6
7
8
9
10
11
12
# 切换输入面板监听
复写 onSwitchToggleClick
代码示例
class MyConversationFragment extends ConversationFragment { /** * 发送按钮监听 * @param view 控件 * @param inputBoard ViewGroup 容器 */ @Override public void onSwitchToggleClick(View view, ViewGroup inputBoard) { super.onSwitchToggleClick(v, inputBoard); } }
已复制
1
2
3
4
5
6
7
8
9
10
11
12
2
3
4
5
6
7
8
9
10
11
12
# 表情按钮监听
复写 onEmoticonToggleClick
代码示例
class MyConversationFragment extends ConversationFragment { /** * 表情按钮监听 * @param view 控件 * @param extensionBoard ViewGroup 容器 */ @Override public void onEmoticonToggleClick(View view, ViewGroup extensionBoard) { super.onEmoticonToggleClick(v, extensionBoard); /** * 输入区域的表情按钮监听时间 */ } }
已复制
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
2
3
4
5
6
7
8
9
10
11
12
13
14
15
# ‘+’ 扩展项开关按钮监听
复写 onPluginToggleClick
代码示例
class MyConversationFragment extends ConversationFragment { /** * ‘+’ 扩展项开关按钮监听 * @param view 控件 * @param extensionBoard ViewGroup 容器 */ @Override public void onPluginToggleClick(View v, ViewGroup extensionBoard) { super.onPluginToggleClick(v, extensionBoard); } }
已复制
1
2
3
4
5
6
7
8
9
10
11
12
2
3
4
5
6
7
8
9
10
11
12
# 短语音按钮触摸事件监听
复写 onVoiceInputToggleTouch
代码示例
class MyConversationFragment extends ConversationFragment { /** * 短语音按钮触摸事件监听 * @param view 控件 * @param event 触摸事件 */ @Override public void onVoiceInputToggleTouch(View view, MotionEvent event) { super.onVoiceInputToggleTouch(v, event); } }
已复制
1
2
3
4
5
6
7
8
9
10
11
12
2
3
4
5
6
7
8
9
10
11
12
# 输入框点击事件监听
复写 onEditTextClick
代码示例
class MyConversationFragment extends ConversationFragment { /** * 输入框点击事件监听 * @param editText 输入框控件 */ @Override public void onEditTextClick(EditText editText) { super.onEditTextClick(editText); } }
已复制
1
2
3
4
5
6
7
8
9
10
11
2
3
4
5
6
7
8
9
10
11
# '+' 扩展按钮事件监听
复写 onPluginClicked
代码示例
class MyConversationFragment extends ConversationFragment { /** * '+' 扩展按钮事件监听 * @param pluginModule 扩展项按钮对象 * @param position 扩展项的位置 */ @Override public void onPluginClicked(IPluginModule pluginModule, int position) { super.onPluginClicked(pluginModule, position); } }
已复制
1
2
3
4
5
6
7
8
9
10
11
12
2
3
4
5
6
7
8
9
10
11
12
# 输入区关闭监听
复写 onExtensionCollapsed
代码示例
class MyConversationFragment extends ConversationFragment { /** * 输入区关闭监听 */ @Override public void onExtensionCollapsed() { super.onExtensionCollapsed(); } }
已复制
1
2
3
4
5
6
7
8
9
10
2
3
4
5
6
7
8
9
10
# 输入区展开监听
复写 onExtensionExpanded
代码示例
class MyConversationFragment extends ConversationFragment { /** * 输入区展开监听 * @param h 输入区高度 */ @Override public void onExtensionExpanded(int h) { super.onExtensionExpanded(h); } }
已复制
1
2
3
4
5
6
7
8
9
10
11
12
2
3
4
5
6
7
8
9
10
11
12
# 图库选择文件监听
复写 onImageResult
代码示例
class MyConversationFragment extends ConversationFragment { /** * 图库选择文件监听 * @param selectedMedias 选择的媒体文件 * @param origin 是否发送原图 */ @Override public void onImageResult(LinkedHashMap<String, Integer> selectedMedias, boolean origin) { super.onImageResult(selectedMedias, origin); } }
已复制
1
2
3
4
5
6
7
8
9
10
11
12
13
2
3
4
5
6
7
8
9
10
11
12
13
# 发送位置结果监听
复写 onLocationResult
代码示例
class MyConversationFragment extends ConversationFragment { /** * 发送位置结果监听 * @param lat 经度 * @param lng 纬度 * @param poi 位置信息 * @param thumb 缩略图 */ @Override public void onLocationResult(double lat, double lng, String poi, Uri thumb) { super.onLocationResult(lat, lng, poi, thumb); } }
已复制
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
2
3
4
5
6
7
8
9
10
11
12
13
14
15
# 快捷回复监听
复写 onPhrasesClicked
代码示例
class MyConversationFragment extends ConversationFragment { /** * 快捷回复监听 * @param phrases 常用回复语 * @param position 位置 */ @Override public void onPhrasesClicked(String phrases, int position) { super.onPhrasesClicked(phrases, position); } }
已复制
1
2
3
4
5
6
7
8
9
10
11
12
13
2
3
4
5
6
7
8
9
10
11
12
13