全部文档

更新时间: 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

# 输入区事件监听

如果想要监听输入区的事件监听, 则需创建 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
# 切换输入面板监听

复写 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
# 表情按钮监听

复写 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
# ‘+’ 扩展项开关按钮监听

复写 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
# 短语音按钮触摸事件监听

复写 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
# 输入框点击事件监听

复写 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
# '+' 扩展按钮事件监听

复写 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
# 输入区关闭监听

复写 onExtensionCollapsed

代码示例

class MyConversationFragment extends ConversationFragment {
    
    /**
     * 输入区关闭监听
     */
    @Override
    public void onExtensionCollapsed() {
        super.onExtensionCollapsed();
    }
}
已复制
1
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
# 图库选择文件监听

复写 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
# 发送位置结果监听

复写 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
# 快捷回复监听

复写 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

文档是否解决您的问题 ?

如果遇到产品相关问题,您可 提交工单 寻求帮助