硅谷社交11--主页面中的会话列表页面

1)继承EaseConversationListFragment
2)添加联系人消息的监听事件

// 监听会话的变化
EMClient.getInstance().chatManager().addMessageListener(emMessageListener);

private EMMessageListener emMessageListener = new EMMessageListener() {
        @Override
        public void onMessageReceived(List<EMMessage> list) {
            // 设置数据
            EaseUI.getInstance().getNotifier().onNewMesg(list);

            // 刷新列表
            refresh();
        }

        @Override
        public void onCmdMessageReceived(List<EMMessage> list) {

        }

        @Override
        public void onMessageReadAckReceived(List<EMMessage> list) {

        }

        @Override
        public void onMessageDeliveryAckReceived(List<EMMessage> list) {

        }

        @Override
        public void onMessageChanged(EMMessage emMessage, Object o) {

        }
    };

3)会话条目的点击事件

// 条目添加事件的监听
setConversationListItemClickListener(new EaseConversationListItemClickListener() {
            @Override
            public void onListItemClicked(EMConversation conversation) {

                Intent intent = new Intent(getActivity(), ChatActivity.class);
                // 参数
                intent.putExtra(EaseConstant.EXTRA_USER_ID, conversation.conversationId());

                // 当前会话类型为群聊
                if(conversation.getType() == EMConversation.EMConversationType.GroupChat) {
                   intent.putExtra(EaseConstant.EXTRA_CHAT_TYPE,EaseConstant.CHATTYPE_GROUP);
                }

                getActivity().startActivity(intent);
            }
        });

// 清空当前会话列表数据,准备加载新的数据
conversationList.clear();

  

时间: 2024-08-05 07:05:00

硅谷社交11--主页面中的会话列表页面的相关文章

在oracle中跟踪会话执行语句的几种方法

生成sql trace可以有以下几种方式: 1.参数设置:非常传统的方法. 系统级别: 参数文件中指定: sql_trace=true 或 SQL> alter system set sql_trace=true; 注意:系统级别启用sql_trace,会产生大量trace文件,很容易耗尽磁盘空间,因此一般设置会话级别,并且及时关闭. 会话级别: SQL> alter session set sql_trace=true; SQL> 执行sql SQL> alter session

Java中的会话管理——HttpServlet,Cookies,URL Rewriting(译)

参考谷歌翻译,关键字直接使用英文,原文地址:http://www.journaldev.com/1907/java-session-management-servlet-httpsession-url-rewriting Java Web应用程序中的会话管理(Session Management)是一个非常有趣的话题.Java Servlet中的会话通过不同的方式进行管理,例如Cookie,HttpSession API,URL重写等. 这是Java Web应用程序系列教程中的第三篇文章,您可能

lua学习笔记11:lua中的小技巧

lua中的小技巧,即基础lua语言本身的特种,进行一个些简化的操作 一 巧用or x = x or v 等价于: if not x then x = v end 如果x为nil或false,就给他赋值为 二 三元运算符实现 a and b or c 类似C语言: a ? b : c and 的运算由优先级高于or lua学习笔记11:lua中的小技巧,布布扣,bubuko.com

windows server 2012 系统管理 1-1 在虚拟机中安装windows server 2012

1-1在虚拟机中安装windowsserver 2012 准备工作:vmware workstation12 ,windows server 2012 镜像.实验步骤: 运行vmware workstation 12,选择主界面"创建新的虚拟机" 2.选择"典型",单击下一步. 3.选择事先下好的镜像文件,单击下一步 4.输入产品密钥(也可以不输,待安装完系统后用激活工具激活). 5.设置用户名和密码(可选). 6.设置虚拟机名称和安装位置. 7.设置磁盘大小和磁盘

硅谷社交3--登录页面

1.页面布局 <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent&

Lua语言基础汇总(11) -- Lua中的模块与包

前言 从Lua5.1版本开始,就对模块和包添加了新的支持,可是使用require和module来定义和使用模块和包.require用于使用模块,module用于创建模块.简单的说,一个模块就是一个程序库,可以通过require来加载.然后便得到了一个全局变量,表示一个table.这个table就像是一个命名空间,其内容就是模块中导出的所有东西,比如函数和常量,一个符合规范的模块还应使require返回这个table.现在就来具体的总结一下require和module这两个函数. require函

11 在.NET 中如何加密和解密一个字符串

string plainText = "This is plain text that we will encrypt"; string password = "[email protected]$$w0rd"; Console.WriteLine(plainText); Console.WriteLine(); create a new instance of our encryption class passing in the password as the

WCF初探-26:WCF中的会话

理解WCF中的会话机制 在WCF应用程序中,会话将一组消息相互关联,从而形成对话.会话”是在两个终结点之间发送的所有消息的一种相互关系.当某个服务协定指定它需要会话时,该协定会指定所有调用(即,支持调用的基础消息交换)必须是同一对话的一部分.如果某个协定指定它允许使用会话但不要求使用会话,则客户端可以进行连接,并选择建立会话或不建立会话.如果会话结束,然后在同一个通道上发送消息,将会引发异常. WCF中的会话机制通过设置服务协定(ServiceContract)上的SessionMode的枚举值

Effective C++ Item 11 在operator= 中处理“自我赋值”

本文为senlie原创,转载请保留此地址:http://blog.csdn.net/zhengsenlie 经验:确保当对象自我赋值时operator=有良好行为.其中技术包括比较"来源对象"和"目标对象"的地址.精心周到的语句顺序.以及copy-and-swap. 示例:没有"证同测试" #include <iostream> #include <string> using namespace std; class Bi