• linkedu视频
  • 平面设计
  • 电脑入门
  • 操作系统
  • 办公应用
  • 电脑硬件
  • 动画设计
  • 3D设计
  • 网页设计
  • CAD设计
  • 影音处理
  • 数据库
  • 程序设计
  • 认证考试
  • 信息管理
  • 信息安全
菜单
linkedu.com
  • 网页制作
  • 数据库
  • 程序设计
  • 操作系统
  • CMS教程
  • 游戏攻略
  • 脚本语言
  • 平面设计
  • 软件教程
  • 网络安全
  • 电脑知识
  • 服务器
  • 视频教程
  • JavaScript
  • ASP.NET
  • PHP
  • 正则表达式
  • AJAX
  • JSP
  • ASP
  • Flex
  • XML
  • 编程技巧
  • Android
  • swift
  • C#教程
  • vb
  • vb.net
  • C语言
  • Java
  • Delphi
  • 易语言
  • vc/mfc
  • 嵌入式开发
  • 游戏开发
  • ios
  • 编程问答
  • 汇编语言
  • 微信小程序
  • 数据结构
  • OpenGL
  • 架构设计
  • qt
  • 微信公众号
您的位置:首页 > 程序设计 >Android > 硅谷社交15--群详情,硅谷社交15--

硅谷社交15--群详情,硅谷社交15--

作者:网友 字体:[增加 减小] 来源:互联网 时间:2017-05-26

网友通过本文主要向大家介绍了硅谷社交,硅谷群瞎传,硅谷群瞎传第四季,硅谷群瞎传第一季,硅谷群瞎传第二季等相关知识,希望对您有所帮助,也希望大家支持linkedu.com www.linkedu.com

硅谷社交15--群详情,硅谷社交15--


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"
    android:layout_height="match_parent"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    android:orientation="vertical">

    <com.hyphenate.easeui.widget.EaseTitleBar
        app:titleBarTitle="群详情"
        android:layout_width="match_parent"
        android:layout_height="wrap_content">

    </com.hyphenate.easeui.widget.EaseTitleBar>
    
    <GridView
        android:id="@+id/gv_group_detail"
        android:layout_width="match_parent"
        android:numColumns="4"
        android:horizontalSpacing="10dp"
        android:verticalSpacing="10dp"
        android:layout_weight="1"
        android:layout_height="0dp">

    </GridView>

    <Button
        android:id="@+id/bt_group_detail"
        android:text="退群"
        android:textSize="25sp"
        android:layout_margin="5dp"
        android:textColor="@android:color/white"
        android:background="@android:color/holo_red_light"
        android:layout_width="match_parent"
        android:layout_height="wrap_content" />

</LinearLayout>

群主群详情.png
删除模式群详情.png
群成员群详情.png


2)获取传递过来的数据

// 获取传递过来的参数
private void getData() {
	// 获取传递过来的群id
	String groupId = getIntent().getStringExtra(Constant.GROUP_ID);
	// 校验
	if (groupId == null) {
		finish();
		return;
	} else {
		// 获取群信息
		mGroup = EMClient.getInstance().groupManager().getGroup(groupId);
	}
}


3)初始化button按钮的显示

// 初始化按钮的显示
private void initButtonDisplay() {
	//显示
	// 判断是否是群主
	if (EMClient.getInstance().getCurrentUser().equals(mGroup.getOwner())) {
		// 更新显示
		btn_exit_group.setText("解散群");

		// 解散群的点击事件
		btn_exit_group.setOnClickListener(new View.OnClickListener() {
			@Override
			public void onClick(View v) {
				Model.getInstace().getGolbalThreadPool().execute(new Runnable() {
					@Override
					public void run() {
						// 联网
						try {
							// 联网成功
							EMClient.getInstance().groupManager().destroyGroup(mGroup.getGroupId());

							// 发送解散群广播
							exitGroupBroadCast();

							// 提示
							runOnUiThread(new Runnable() {
								@Override
								public void run() {
									Toast.makeText(GroupDetailActivity.this, "解散群成功", Toast.LENGTH_SHORT).show();
									// 销毁当前页面
									finish();
								}
							});

						} catch (HyphenateException e) {
							e.printStackTrace();

							// 提示
							runOnUiThread(new Runnable() {
								@Override
								public void run() {
									Toast.makeText(GroupDetailActivity.this, "解散群失败", Toast.LENGTH_SHORT).show();
								}
							});
						}
					}
				});
			}
		});
	} else {// 群成员
		btn_exit_group.setText("退群");

		// 退群按钮点击事件
		btn_exit_group.setOnClickListener(new View.OnClickListener() {
			@Override
			public void onClick(View v) {

				// 联网
				Model.getInstace().getGolbalThreadPool().execute(new Runnable() {
					@Override
					public void run() {

						try {
							EMClient.getInstance().groupManager().leaveGroup(mGroup.getGroupId());

							// 发送广播
							exitGroupBroadCast();

							// 提示
							runOnUiThread(new Runnable() {
								@Override
								public void run() {
									Toast.makeText(GroupDetailActivity.this, "退群成功", Toast.LENGTH_SHORT).show();
									// 销毁当前页面
									finish();
								}
							});
						} catch (HyphenateException e) {
							e.printStackTrace();

							runOnUiThread(new Runnable() {
								@Override
								public void run() {
									Toast.makeText(GroupDetailActivity.this, "退群失败", Toast.LENGTH_SHORT).show();
								}
							});
						}
					}
				});
			}
		});
	}
}

  

4)退群和解散群
发送退群广播

// 解散群和退群广播
private void exitGroupBroadCast() {
	// 发送广播
	Intent intent = new Intent(Constant.EXIT_GROUP);
	// 传递群id参数
	intent.putExtra(Constant.GROUP_ID, mGroup.getGroupId());
	// 发送
	mLBM.sendBroadcast(intent);
}


5)初始化Gridview

// 初始化gridview
private void initGridview() {
	// 你是群主 或者 你这个群是公开  你就可以添加和删除群成员
	boolean mIsCanModify = EMClient.getInstance().getCurrentUser().equals(mGroup.getOwner()) || mGroup.isPublic();
	// 创建适配器
	mGroupDetailAdapter = new GroupDetailAdapter(GroupDetailActivity.this, mIsCanModify, mOnGroupDetailListener);
	// 添加到gridview
	gv_member_list.setAdapter(mGroupDetailAdapter);
}


6)GridView适配器

public class GroupDetailAdapter extends BaseAdapter {
    private Context mContext;
    private boolean mIsCanModify;       // 表示可以添加和删除好友
    private boolean mIsDeleteModel;     //  是否是删除模式 true:删除模式  false:非删除模式
    private List<UserInfo> mUsers = new ArrayList<>();
    private OnGroupDetailListener mOnGroupDetailListener;
    private final String mCurrentUser;

    public GroupDetailAdapter(Context context, boolean isCanModify, OnGroupDetailListener onGroupDetailListener) {
        mContext = context;
        mIsCanModify = isCanModify;

        mOnGroupDetailListener = onGroupDetailListener;

        mCurrentUser = EMClient.getInstance().getCurrentUser();
    }

    private void initUsers() {
        UserInfo add = new UserInfo("add");
        UserInfo delete = new UserInfo("delete");

        mUsers.add(delete);
        mUsers.add(0, add);
    }

    // 刷新的方法
    public void refresh(List<UserInfo> users) {

        // 校验
        if (users != null && users.size() >= 0) {
            mUsers.clear();

            initUsers();

            mUsers.addAll(0, users);
        }

        // 刷新页面
        notifyDataSetChanged();
    }

    // 获取当前的模式
    public boolean ismIsDeleteModel() {
        return mIsDeleteModel;
    }

    // 设置当前的模式
    public void setmIsDeleteModel(boolean mIsDeleteModel) {
        this.mIsDeleteModel = mIsDeleteModel;
    }

    @Override
    public int getCount() {
        return mUsers == null ? 0 : mUsers.size();
    }

    @Override
    public Object getItem(int position) {
        return mUsers.get(position);
    }

    @Override
    public long getItemId(int position) {
        return position;
    }

    @Override
    public View getView(final int position, View convertView, ViewGroup parent) {
        // 创建或获取viewHolder
        ViewHolder holder = null;

        if (convertView == null) {
            holder = new ViewHolder();
            convertView = View.inflate(mContext, R.layout.item_group_detail, null);
            holder.photo = (ImageView) convertView.findViewById(R.id.iv_member_photo);
            holder.name = (TextView) convertView.findViewById(R.id.tv_member_name);
            holder.delete = (ImageView) convertView.findViewById(R.id.iv_member_delete);
            convertView.setTag(holder);
        } else {
            holder = (ViewHolder) convertView.getTag();

            if (position != getCount() - 1 && position != getCount() - 2) {

                if (holder.name.getVisibility() == View.INVISIBLE) {

                    holder = new ViewHolder();
                    convertView = View.inflate(mContext, R.layout.item_group_detail, null);
                    holder.photo = (ImageView) convertView.findViewById(R.id.iv_member_photo);
                    holder.name = (TextView) convertView.findViewById(R.id.tv_mem



 
分享到:QQ空间新浪微博腾讯微博微信百度贴吧QQ好友复制网址打印

您可能想查找下面的文章:

  • 硅谷社交15--群详情,硅谷社交15--
  • 硅谷社交10--会话详情页面,硅谷社交10--会话
  • 硅谷社交12--群列表页面,硅谷社交12--列表
  • 硅谷社交14--选择联系人页面,硅谷社交14--联系人
  • 硅谷社交8--联系人列表页面,硅谷社交8--联系人
  • 硅谷社交6--添加联系人--发送添加好友邀请,硅谷6--
  • 硅谷社交7--添加联系人--接收添加好友邀请,硅谷7--
  • 硅谷社交2--欢迎页面,硅谷社交2--
  • 硅谷社交3--登录页面,硅谷社交3--

相关文章

  • 2017-05-26Android 退出app,后台推送的服务也停止了,怎么可以做到不停止后台服务呢?,androidapp
  • 2017-05-26关于在R中无法引用自己的xml文件,引用xml文件
  • 2017-05-26android:TextView实现文字走马灯效果(欺骗系统获取持久的焦点)
  • 2017-05-26搭建邮件服务器postfix 步骤(转)
  • 2017-05-26eclipse搭建android开发环境详细步骤,eclipseandroid
  • 2017-05-26Android 工程集成React Native 0.44 注意点,androidreact
  • 2017-05-26pgpool的健康检查和failover代码
  • 2017-05-26build.gradle文件的注释,build.gradle注释
  • 2017-05-226.3.1 数据存储与访问之——初见SQLite数据库
  • 2017-05-26Android关于Dex拆分(MultiDex)技术的解析

文章分类

  • JavaScript
  • ASP.NET
  • PHP
  • 正则表达式
  • AJAX
  • JSP
  • ASP
  • Flex
  • XML
  • 编程技巧
  • Android
  • swift
  • C#教程
  • vb
  • vb.net
  • C语言
  • Java
  • Delphi
  • 易语言
  • vc/mfc
  • 嵌入式开发
  • 游戏开发
  • ios
  • 编程问答
  • 汇编语言
  • 微信小程序
  • 数据结构
  • OpenGL
  • 架构设计
  • qt
  • 微信公众号

最近更新的内容

    • MirrorNetwork 基于jmdns和netty的android网络通信开源库,mirrornetworkjmdns
    • Android开发学习——画横线竖线,android横线
    • Android Log,androidlog
    • Android开发学习——Android项目的目录结构,android项目
    • Android Layout XML属性,androidlayout
    • Android Studio下运行开源项目9GAG遇到的问题
    • did not call through to super.onCreate(),didsuper.oncreate
    • andriod RadioButton,andriodradiobutton
    • 策略模式,java策略模式
    • Android_LIFE帮(基于最新百度地图API的开源项目)

关于我们 - 联系我们 - 免责声明 - 网站地图

©2020-2025 All Rights Reserved. linkedu.com 版权所有