瀏覽代碼

修改群组添加人员逻辑

Pq 1 年之前
父節點
當前提交
5e568738d8

+ 12 - 6
chatModule/src/main/java/com/cooleshow/chatmodule/adapter/GroupSettingMemberAdapter.java

@@ -5,6 +5,7 @@ import android.view.View;
 import android.widget.ImageView;
 import android.widget.TextView;
 
+import com.chad.library.adapter.base.BaseMultiItemQuickAdapter;
 import com.chad.library.adapter.base.BaseQuickAdapter;
 import com.chad.library.adapter.base.viewholder.BaseViewHolder;
 import com.cooleshow.base.utils.GlideImageLoaderUtils;
@@ -17,10 +18,13 @@ import com.cooleshow.chatmodule.bean.GroupMemberBean;
  * @author Ryan
  * 类说明:
  */
-public class GroupSettingMemberAdapter extends BaseQuickAdapter<GroupMemberBean, BaseViewHolder> {
+public class GroupSettingMemberAdapter extends BaseMultiItemQuickAdapter<GroupMemberBean, BaseViewHolder> {
+    public static final int ADD_TYPE = 1;
+    public static final int CONTENT_TYPE = 0;
 
     public GroupSettingMemberAdapter() {
-        super(R.layout.tc_item_group_setting_member_list_layout);
+        addItemType(ADD_TYPE, R.layout.tc_item_group_setting_member_list_layout);
+        addItemType(CONTENT_TYPE, R.layout.tc_item_group_setting_member_list_layout);
     }
 
 
@@ -28,12 +32,14 @@ public class GroupSettingMemberAdapter extends BaseQuickAdapter<GroupMemberBean,
     protected void convert(BaseViewHolder helper, GroupMemberBean item) {
         ImageView ivIcon = helper.getView(R.id.iv_icon);
         TextView tvTitle = helper.getView(R.id.tv_title);
-        if (TextUtils.equals(item.getRoleType(), "STUDENT")) {
-            GlideImageLoaderUtils.getInstance().loadCircleImage(getContext(), item.getAvatar(), R.drawable.tc_icon_teacher_default_head, ivIcon);
+        int itemType = item.getItemType();
+        if (itemType == CONTENT_TYPE) {
+            GlideImageLoaderUtils.getInstance().loadCircleImage(getContext(), item.getAvatar(),  R.drawable.tc_icon_teacher_default_head, ivIcon);
+            tvTitle.setText(item.getNickname());
         } else {
-            GlideImageLoaderUtils.getInstance().loadCircleImage(getContext(), item.getAvatar(), R.drawable.tc_icon_teacher_default_head, ivIcon);
+            ivIcon.setImageResource(R.drawable.icon_add_group_member);
+            tvTitle.setText("邀请");
         }
-        tvTitle.setText(item.getNickname());
 
         View tv_group_owner_tag = helper.getView(R.id.tv_group_owner_tag);
         if (item.isAdmin()) {

+ 3 - 0
chatModule/src/main/java/com/cooleshow/chatmodule/api/IMApi.java

@@ -158,4 +158,7 @@ public interface IMApi {
      */
     @POST(TEACHER_GROUP + "imGroup/create")
     Observable<BaseResponse<Object>> createImGroup(@Body RequestBody body);
+
+    @POST("{group_name}" + "/imGroup/addGroupMember")
+    Observable<BaseResponse<Object>> addGroupMembers(@Body RequestBody body,@Path("group_name")String group_name);
 }

+ 20 - 1
chatModule/src/main/java/com/cooleshow/chatmodule/bean/GroupMemberBean.java

@@ -2,6 +2,7 @@ package com.cooleshow.chatmodule.bean;
 
 import android.text.TextUtils;
 
+import com.chad.library.adapter.base.entity.MultiItemEntity;
 import com.mcxtzhang.indexlib.IndexBar.bean.BaseIndexPinyinBean;
 
 import java.io.Serializable;
@@ -13,7 +14,7 @@ import java.util.List;
  * @author Ryan
  * 类说明:
  */
-public class GroupMemberBean extends BaseIndexPinyinBean implements Serializable {
+public class GroupMemberBean extends BaseIndexPinyinBean implements Serializable, MultiItemEntity {
 /*
     	"avatar": "",
 			"createTime": "",
@@ -36,6 +37,7 @@ public class GroupMemberBean extends BaseIndexPinyinBean implements Serializable
     private String updateTime;
     private String userId;
     private String imUserId;
+    private int itemType;
 
     public String getAvatar() {
         return avatar;
@@ -113,4 +115,21 @@ public class GroupMemberBean extends BaseIndexPinyinBean implements Serializable
     public String getTarget() {
         return TextUtils.isEmpty(nickname) ? "#" : nickname;
     }
+
+    public void setItemType(int itemType) {
+        this.itemType = itemType;
+    }
+
+    public String getImUserId() {
+        return imUserId;
+    }
+
+    public void setImUserId(String imUserId) {
+        this.imUserId = imUserId;
+    }
+
+    @Override
+    public int getItemType() {
+        return itemType;
+    }
 }

+ 2 - 0
chatModule/src/main/java/com/cooleshow/chatmodule/contract/ChatGroupSettingContract.java

@@ -32,6 +32,8 @@ public interface ChatGroupSettingContract {
 
         void groupApplyListSuccess(List<GroupApplyBean> data);
 
+        void addGroupMemberSuccess(Object data);
+
     }
 
     interface Presenter {

+ 26 - 1
chatModule/src/main/java/com/cooleshow/chatmodule/presenter/ChatGroupSettingPresenter.java

@@ -23,9 +23,11 @@ import com.tencent.qcloud.tuikit.tuigroup.model.GroupInfoProvider;
 import com.tencent.qcloud.tuikit.tuigroup.util.TUIGroupLog;
 import com.tencent.qcloud.tuikit.tuigroup.util.TUIGroupUtils;
 
+import org.json.JSONArray;
 import org.json.JSONException;
 import org.json.JSONObject;
 
+import java.util.ArrayList;
 import java.util.List;
 
 
@@ -172,7 +174,7 @@ public class ChatGroupSettingPresenter extends BasePresenter<ChatGroupSettingCon
         } catch (JSONException e) {
             e.printStackTrace();
         }
-        addSubscribe(create(IMApi.class).groupApplyList(RequestBodyUtil.convertToRequestBodyJson(jsonObject.toString()),BaseConstant.CLIENT_API_GROUP_NAME), new BaseObserver<List<GroupApplyBean>>(getView()) {
+        addSubscribe(create(IMApi.class).groupApplyList(RequestBodyUtil.convertToRequestBodyJson(jsonObject.toString()), BaseConstant.CLIENT_API_GROUP_NAME), new BaseObserver<List<GroupApplyBean>>(getView()) {
             @Override
             protected void onSuccess(List<GroupApplyBean> data) {
                 if (getView() != null) {
@@ -210,4 +212,27 @@ public class ChatGroupSettingPresenter extends BasePresenter<ChatGroupSettingCon
             }
         });
     }
+
+    public void addGroupMembers(String groupId, ArrayList<String> targetIds) {
+        if (getView() != null) {
+            getView().showLoading();
+        }
+        JSONObject jsonObject = new JSONObject();
+
+        try {
+            jsonObject.put("groupId", groupId);
+            JSONArray jsonArray = new JSONArray(targetIds);
+            jsonObject.put("studentIdList", jsonArray);
+        } catch (JSONException e) {
+            e.printStackTrace();
+        }
+        addSubscribe(create(IMApi.class).addGroupMembers(RequestBodyUtil.convertToRequestBodyJson(jsonObject.toString()), BaseConstant.CLIENT_API_GROUP_NAME), new BaseObserver<Object>(getView()) {
+            @Override
+            protected void onSuccess(Object data) {
+                if (getView() != null) {
+                    getView().addGroupMemberSuccess(data);
+                }
+            }
+        });
+    }
 }

+ 1 - 1
chatModule/src/main/java/com/cooleshow/chatmodule/presenter/ContactListPresenter.java

@@ -24,7 +24,7 @@ public class ContactListPresenter extends BasePresenter<ContactListFragmentContr
     public void queryFriendList(String searchCondition, String schoolId, String orchestraId, String subjectId, String roleId) {
         JSONObject jsonObject = new JSONObject();
         try {
-            jsonObject.putOpt("keyword", searchCondition);
+            jsonObject.putOpt("search", searchCondition);
             if (!TextUtils.isEmpty(schoolId)) {
                 jsonObject.putOpt("schoolId", schoolId);
             }

+ 1 - 1
chatModule/src/main/java/com/cooleshow/chatmodule/presenter/ContactRoomListPresenter.java

@@ -27,7 +27,7 @@ public class ContactRoomListPresenter extends BasePresenter<ContactRoomListFragm
     public void queryGroupList(Context context, String searchCondition) {
         JSONObject jsonObject = new JSONObject();
         try {
-            jsonObject.putOpt("keyword", searchCondition);
+            jsonObject.putOpt("search", searchCondition);
             jsonObject.putOpt("rows", Integer.MAX_VALUE);
             jsonObject.putOpt("page", 1);
         } catch (JSONException e) {

+ 79 - 29
chatModule/src/main/java/com/cooleshow/chatmodule/ui/ChatGroupSettingActivity.java

@@ -15,8 +15,8 @@ import com.alibaba.android.arouter.facade.annotation.Route;
 import com.alibaba.android.arouter.launcher.ARouter;
 import com.chad.library.adapter.base.BaseQuickAdapter;
 import com.chad.library.adapter.base.listener.OnItemClickListener;
+import com.cooleshow.base.bean.StudentPageListBean;
 import com.cooleshow.base.common.BaseApplication;
-import com.cooleshow.base.common.BaseConstant;
 import com.cooleshow.base.router.RouterPath;
 import com.cooleshow.base.ui.activity.BaseMVPActivity;
 import com.cooleshow.base.utils.GlideUtils;
@@ -36,6 +36,7 @@ import com.cooleshow.chatmodule.databinding.TcActivityChatGroupSettingBinding;
 import com.cooleshow.chatmodule.presenter.ChatGroupSettingPresenter;
 import com.cooleshow.chatmodule.utils.helper.ChatGroupHelper;
 import com.cooleshow.chatmodule.utils.helper.IMThemManager;
+import com.cooleshow.usercenter.helper.UserHelper;
 import com.tencent.qcloud.tuicore.TUICore;
 import com.tencent.qcloud.tuikit.tuigroup.bean.GroupInfo;
 
@@ -45,6 +46,7 @@ import java.util.List;
 
 import androidx.annotation.NonNull;
 import androidx.annotation.Nullable;
+import androidx.recyclerview.widget.GridLayoutManager;
 import androidx.recyclerview.widget.LinearLayoutManager;
 import androidx.recyclerview.widget.RecyclerView;
 
@@ -58,6 +60,12 @@ import androidx.recyclerview.widget.RecyclerView;
 public class ChatGroupSettingActivity extends BaseMVPActivity<TcActivityChatGroupSettingBinding, ChatGroupSettingPresenter> implements ChatGroupSettingContract.ChatGroupSettingView, View.OnClickListener {
     private final int REQUEST_GROUP_REMARKS_CODE = 100;
 
+    public static final int REQUEST_CODE_SELECT = 10001;
+
+    private final int MAX_SHOW_GROUP_MEMBER_COUNT = 5;
+
+    private boolean isCanAddMember = false;
+
     @Override
     public void onClick(View view) {
         if (view.getId() == R.id.ll_history_message) {
@@ -71,9 +79,9 @@ public class ChatGroupSettingActivity extends BaseMVPActivity<TcActivityChatGrou
 //                    .navigation(this, REQUEST_GROUP_REMARKS_CODE);
         } else if (view.getId() == R.id.tv_group_member_list) {
             //查看联系人
-            if (adapter != null) {
+            if (mAdapter != null) {
                 ARouter.getInstance().build(TCChatRouterPath.CHAT_GROUP_MEMBER)
-                        .withSerializable("list", (Serializable) adapter.getData())
+                        .withSerializable("list", (Serializable) mAdapter.getData())
                         .navigation();
             }
         } else if (view.getId() == R.id.tv_group_apply_count) {
@@ -161,7 +169,7 @@ public class ChatGroupSettingActivity extends BaseMVPActivity<TcActivityChatGrou
     private TextView tv_group_apply_count;
     private TextView tv_group_name_remarks;
     private CheckBox cb_message;
-    GroupSettingMemberAdapter adapter;
+    GroupSettingMemberAdapter mAdapter;
     private GroupInfo mGroupInfo;
 
     @Override
@@ -202,21 +210,19 @@ public class ChatGroupSettingActivity extends BaseMVPActivity<TcActivityChatGrou
             viewBinding.llChatJoinApply.setVisibility(View.GONE);
         }
 
-        LinearLayoutManager manager = new LinearLayoutManager(this);
-        manager.setOrientation(LinearLayoutManager.HORIZONTAL);
-        recyclerView.setLayoutManager(manager);
-        adapter = new GroupSettingMemberAdapter();
-        recyclerView.setAdapter(adapter);
-        adapter.setOnItemClickListener(new OnItemClickListener() {
+        GridLayoutManager gridLayoutManager = new GridLayoutManager(this, MAX_SHOW_GROUP_MEMBER_COUNT);
+        recyclerView.setLayoutManager(gridLayoutManager);
+        mAdapter = new GroupSettingMemberAdapter();
+        recyclerView.setAdapter(mAdapter);
+        mAdapter.setOnItemClickListener(new OnItemClickListener() {
             @Override
             public void onItemClick(@NonNull BaseQuickAdapter<?, ?> adapter, @NonNull View view, int position) {
-//                GroupMemberBean.RowsBean groupMemberBean = (GroupMemberBean.RowsBean) adapter.getItem(position);
-//                String imUserId = UserHelper.getImUserId();
-//                if (TextUtils.equals(groupMemberBean.getImUserId(), imUserId)) {
-//                    return;
-//                }
-//                RongIM.getInstance().startPrivateChat(ChatGroupSettingActivity.this, groupMemberBean.getImUserId() + "", groupMemberBean.getNickname());
-
+                if (position < mAdapter.getData().size()) {
+                    GroupMemberBean rowsBean = mAdapter.getData().get(position);
+                    if (rowsBean.getItemType() == GroupSettingMemberAdapter.ADD_TYPE) {
+                        goSelectContact();
+                    }
+                }
             }
         });
 
@@ -256,13 +262,17 @@ public class ChatGroupSettingActivity extends BaseMVPActivity<TcActivityChatGrou
     @Override
     protected void onResume() {
         super.onResume();
-        presenter.queryGroupDetail(targetId);
-        presenter.queryGroupMembers(targetId);
+        refresh();
         if (BaseApplication.Companion.isTeacherClient()) {
             presenter.groupApplyList(targetId);
         }
     }
 
+    private void goSelectContact() {
+        ARouter.getInstance().build(RouterPath.MineCenter.SELECT_TENANT_MEMBER)
+                .navigation(this, REQUEST_CODE_SELECT);
+    }
+
     @Override
     protected TcActivityChatGroupSettingBinding getLayoutView() {
         return TcActivityChatGroupSettingBinding.inflate(getLayoutInflater());
@@ -283,7 +293,7 @@ public class ChatGroupSettingActivity extends BaseMVPActivity<TcActivityChatGrou
         if (!checkActivityExist()) {
             return;
         }
-        if (adapter != null && data != null) {
+        if (mAdapter != null && data != null) {
             List<GroupMemberBean> result = new ArrayList<>();
             for (int i = 0; i < data.size(); i++) {
                 GroupMemberBean groupMemberBean = data.get(i);
@@ -293,18 +303,22 @@ public class ChatGroupSettingActivity extends BaseMVPActivity<TcActivityChatGrou
                     result.add(groupMemberBean);
                 }
             }
-            adapter.getData().clear();
-            adapter.setNewInstance(result);
             tv_group_member_list.setText("查看" + result.size() + "名群成员");
-            for (int i = 0; i < data.size(); i++) {
-                try {
-//                    GroupMemberBean usersBean = data.get(i);
-//                    String id = usersBean.getUserId() + "";
-//                    String avatar = usersBean.getAvatar();
-//                    String name = usersBean.getNickname();
-                } catch (Exception e) {
+
+            int countLimit = isCanAddMember ? MAX_SHOW_GROUP_MEMBER_COUNT - 1 : MAX_SHOW_GROUP_MEMBER_COUNT;
+            ArrayList<GroupMemberBean> list = new ArrayList();
+            for (int i = 0; i < result.size(); i++) {
+                if (list.size() >= countLimit) {
+                    break;
                 }
+                list.add(result.get(i));
+            }
+            if (isCanAddMember) {
+                GroupMemberBean addBean = new GroupMemberBean();
+                addBean.setItemType(GroupSettingMemberAdapter.ADD_TYPE);
+                list.add(addBean);
             }
+            mAdapter.setNewInstance(list);
         }
     }
 
@@ -324,9 +338,18 @@ public class ChatGroupSettingActivity extends BaseMVPActivity<TcActivityChatGrou
             }
             tv_group_name.setText(data.getName());
             tv_group_name_remarks.setText(data.getName());
+
+            checkTeacherCanAddMember(data.getType());
+
+            presenter.queryGroupMembers(targetId);
         }
     }
 
+    private void checkTeacherCanAddMember(String type) {
+        String tenantId = UserHelper.getTenantId();
+        isCanAddMember = UserHelper.isTenantAccount(tenantId) && TextUtils.equals(type, CreateGroupActivity.GROUP_TYPE_ORG);
+    }
+
     @Override
     public void dissolveChatGroupSuccess() {
         ToastUtil.getInstance().showShort("解散成功");
@@ -375,12 +398,39 @@ public class ChatGroupSettingActivity extends BaseMVPActivity<TcActivityChatGrou
     }
 
     @Override
+    public void addGroupMemberSuccess(Object data) {
+        if (!checkActivityExist()) {
+            return;
+        }
+        ToastUtil.getInstance().showShort("添加成功");
+        refresh();
+    }
+
+    private void refresh() {
+        presenter.queryGroupDetail(targetId);
+    }
+
+    @Override
     protected void onActivityResult(int requestCode, int resultCode, @Nullable Intent data) {
         super.onActivityResult(requestCode, resultCode, data);
         if (resultCode == Activity.RESULT_OK) {
             if (requestCode == REQUEST_GROUP_REMARKS_CODE) {
                 tv_group_name_remarks.setText(data.getStringExtra("remarks"));
                 tv_group_name.setText(data.getStringExtra("remarks"));
+                return;
+            }
+
+            if (requestCode == REQUEST_CODE_SELECT) {
+                if (data != null) {
+                    ArrayList<StudentPageListBean.RowsBean> selectMembers = data.getParcelableArrayListExtra("result");
+                    if (selectMembers != null && selectMembers.size() > 0) {
+                        ArrayList<String> result = new ArrayList<>();
+                        for (int i = 0; i < selectMembers.size(); i++) {
+                            result.add(selectMembers.get(i).getUserId());
+                        }
+                        presenter.addGroupMembers(targetId, result);
+                    }
+                }
             }
         }
     }

+ 5 - 9
chatModule/src/main/java/com/cooleshow/chatmodule/ui/CreateGroupActivity.java

@@ -57,7 +57,7 @@ public class CreateGroupActivity extends BaseMVPActivity<TcActivityCreateGroupBi
             }
             String groupName = viewBinding.etGroupName.getText().toString().trim();
             if (TextUtils.isEmpty(groupName)) {
-                ToastUtil.getInstance().showShort("请输入粉丝群名称");
+                ToastUtil.getInstance().showShort("请输入群名称");
                 return;
             }
             if (!checkTenantCondition()) {
@@ -112,7 +112,7 @@ public class CreateGroupActivity extends BaseMVPActivity<TcActivityCreateGroupBi
 
     @Override
     protected void initView() {
-        initMidTitleToolBar(viewBinding.toolbarInclude.toolbar, "创建粉丝群");
+        initMidTitleToolBar(viewBinding.toolbarInclude.toolbar, "创建群");
         viewBinding.tvCreate.setOnClickListener(this);
         viewBinding.tvAddMembers.setOnClickListener(this);
     }
@@ -131,12 +131,6 @@ public class CreateGroupActivity extends BaseMVPActivity<TcActivityCreateGroupBi
         mMemberAdapter = new CreateGroupMemberAdapter(userId);
         viewBinding.recyclerView.setLayoutManager(new LinearLayoutManager(this, LinearLayoutManager.HORIZONTAL, false));
         viewBinding.recyclerView.setAdapter(mMemberAdapter);
-        addDefault();
-    }
-
-    private void addDefault() {
-        ArrayList<StudentPageListBean.RowsBean> list = getOwnerData();
-        mMemberAdapter.setList(list);
     }
 
     @NonNull
@@ -174,7 +168,9 @@ public class CreateGroupActivity extends BaseMVPActivity<TcActivityCreateGroupBi
                 assert data != null;
                 ArrayList<StudentPageListBean.RowsBean> selectMembers = data.getParcelableArrayListExtra("result");
                 if (selectMembers != null) {
-                    selectMembers.addAll(0, getOwnerData());
+                    if (selectMembers.size() > 0) {
+                        viewBinding.recyclerView.setVisibility(View.VISIBLE);
+                    }
                     if (mMemberAdapter != null) {
                         mMemberAdapter.setList(selectMembers);
                     }

二進制
chatModule/src/main/res/drawable-xhdpi/icon_add_group_member.png


二進制
chatModule/src/main/res/drawable-xxhdpi/icon_add_group_member.png


+ 5 - 0
chatModule/src/main/res/layout/tc_activity_chat_group_setting.xml

@@ -109,6 +109,11 @@
                 android:layout_height="wrap_content"
                 android:background="@color/white"
                 android:scrollbars="none" />
+            
+            <View
+                android:background="@color/white"
+                android:layout_width="match_parent"
+                android:layout_height="25dp"/>
 
             <LinearLayout
                 android:visibility="gone"

+ 28 - 16
chatModule/src/main/res/layout/tc_activity_create_group.xml

@@ -1,5 +1,5 @@
 <?xml version="1.0" encoding="utf-8"?>
-<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
+<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
     xmlns:app="http://schemas.android.com/apk/res-auto"
     xmlns:tools="http://schemas.android.com/tools"
     android:layout_width="match_parent"
@@ -7,14 +7,20 @@
     android:orientation="vertical">
 
     <include
+        app:layout_constraintLeft_toLeftOf="parent"
+        app:layout_constraintTop_toTopOf="parent"
         android:id="@+id/toolbar_include"
         layout="@layout/common_toolbar_layout" />
 
     <androidx.core.widget.NestedScrollView
+        app:layout_constraintBottom_toBottomOf="parent"
+        app:layout_constraintLeft_toLeftOf="parent"
+        app:layout_constraintTop_toBottomOf="@+id/toolbar_include"
         android:layout_width="match_parent"
-        android:layout_height="match_parent">
+        android:layout_height="0dp">
 
         <LinearLayout
+            android:paddingBottom="70dp"
             android:layout_width="match_parent"
             android:layout_height="wrap_content"
             android:orientation="vertical">
@@ -198,10 +204,11 @@
             <androidx.constraintlayout.widget.ConstraintLayout
                 android:id="@+id/cs_member"
                 android:layout_width="match_parent"
-                android:layout_height="140dp"
+                android:layout_height="wrap_content"
                 android:layout_marginLeft="@dimen/dp_14"
                 android:layout_marginTop="@dimen/dp_15"
                 android:layout_marginRight="@dimen/dp_14"
+                android:paddingBottom="15dp"
                 android:background="@drawable/bg_white_10dp"
                 android:paddingStart="12dp"
                 android:visibility="gone"
@@ -226,6 +233,7 @@
                     android:layout_width="0dp"
                     android:layout_marginTop="20dp"
                     android:layout_height="0dp"
+                    android:visibility="gone"
                     android:overScrollMode="never"
                     android:scrollbars="none"
                     app:layout_constraintBottom_toBottomOf="parent"
@@ -246,18 +254,22 @@
                     app:layout_constraintTop_toTopOf="@+id/tv_members_title" />
             </androidx.constraintlayout.widget.ConstraintLayout>
 
-            <TextView
-                android:id="@+id/tv_create"
-                android:layout_width="match_parent"
-                android:layout_height="@dimen/dp_44"
-                android:layout_marginLeft="@dimen/dp_28"
-                android:layout_marginTop="@dimen/dp_31"
-                android:layout_marginRight="@dimen/dp_28"
-                android:background="@drawable/shape_click_btn"
-                android:gravity="center"
-                android:text="确认创建"
-                android:textColor="@color/white"
-                android:textSize="@dimen/sp_18" />
         </LinearLayout>
     </androidx.core.widget.NestedScrollView>
-</LinearLayout>
+
+    <TextView
+        app:layout_constraintLeft_toLeftOf="parent"
+        app:layout_constraintBottom_toBottomOf="parent"
+        android:id="@+id/tv_create"
+        android:layout_marginBottom="17dp"
+        android:layout_width="match_parent"
+        android:layout_height="@dimen/dp_44"
+        android:layout_marginLeft="@dimen/dp_28"
+        android:layout_marginTop="@dimen/dp_31"
+        android:layout_marginRight="@dimen/dp_28"
+        android:background="@drawable/shape_click_btn"
+        android:gravity="center"
+        android:text="确认创建"
+        android:textColor="@color/white"
+        android:textSize="@dimen/sp_18" />
+</androidx.constraintlayout.widget.ConstraintLayout>

+ 4 - 6
chatModule/src/main/res/layout/tc_item_group_setting_member_list_layout.xml

@@ -2,17 +2,15 @@
 <androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
     xmlns:app="http://schemas.android.com/apk/res-auto"
     xmlns:tools="http://schemas.android.com/tools"
-    android:layout_width="wrap_content"
+    android:layout_width="match_parent"
     android:layout_height="wrap_content"
-    android:layout_marginStart="@dimen/dp_16"
-    android:layout_marginEnd="@dimen/dp_16"
     android:gravity="center"
     android:orientation="vertical">
 
     <de.hdodenhof.circleimageview.CircleImageView
         android:id="@+id/iv_icon"
-        android:layout_width="@dimen/dp_40"
-        android:layout_height="@dimen/dp_40"
+        android:layout_width="@dimen/dp_45"
+        android:layout_height="@dimen/dp_45"
         android:layout_marginTop="6dp"
         app:layout_constraintEnd_toEndOf="parent"
         app:layout_constraintStart_toStartOf="parent"
@@ -50,7 +48,7 @@
         android:layout_marginTop="@dimen/dp_5"
         android:layout_marginBottom="@dimen/dp_19"
         android:ellipsize="end"
-        android:maxWidth="70dp"
+        android:maxWidth="50dp"
         android:maxLines="1"
         android:text=""
         android:textColor="@color/color_666666"

+ 1 - 1
teacher/src/main/java/com/cooleshow/teacher/ui/mine/SelectTenantMemberActivity.java

@@ -127,7 +127,7 @@ public class SelectTenantMemberActivity extends BaseMVPActivity<AcSelectTenantMe
         if (id == R.id.tv_confirm) {
             ArrayList<StudentPageListBean.RowsBean> selectList = mMemberAdapter.getSelect();
             if (selectList == null || selectList.size() == 0) {
-                ToastUtil.getInstance().showShort("请选择员");
+                ToastUtil.getInstance().showShort("请选择群成员");
                 return;
             }
             returnResult(selectList);