package com.lqr.wechat.ui.activity; import android.view.View; import android.widget.Button; import android.widget.EditText; import android.widget.TextView; import com.lqr.adapter.LQRAdapterForRecyclerView; import com.lqr.adapter.LQRHeaderAndFooterAdapter; import com.lqr.recyclerview.LQRRecyclerView; import com.lqr.wechat.R; import com.lqr.wechat.db.model.Friend; import com.lqr.wechat.ui.base.BaseActivity; import com.lqr.wechat.ui.presenter.CreateGroupAtPresenter; import com.lqr.wechat.ui.view.ICreateGroupAtView; import com.lqr.wechat.util.UIUtils; import com.lqr.wechat.widget.QuickIndexBar; import java.util.ArrayList; import java.util.List; import butterknife.Bind; /** * @创建者 CSDN_LQR * @描述 发起群聊 */ public class CreateGroupActivity extends BaseActivity<ICreateGroupAtView, CreateGroupAtPresenter> implements ICreateGroupAtView { public ArrayList<String> mSelectedTeamMemberAccounts; @Bind(R.id.btnToolbarSend) Button mBtnToolbarSend; @Bind(R.id.rvSelectedContacts) LQRRecyclerView mRvSelectedContacts; @Bind(R.id.etKey) EditText mEtKey; private View mHeaderView; @Bind(R.id.rvContacts) LQRRecyclerView mRvContacts; @Bind(R.id.qib) QuickIndexBar mQib; @Bind(R.id.tvLetter) TextView mTvLetter; @Override public void init() { mSelectedTeamMemberAccounts = getIntent().getStringArrayListExtra("selectedMember"); } @Override public void initView() { mBtnToolbarSend.setVisibility(View.VISIBLE); mBtnToolbarSend.setText(UIUtils.getString(R.string.sure)); mBtnToolbarSend.setEnabled(false); mHeaderView = View.inflate(this, R.layout.header_group_cheat, null); } @Override public void initData() { mPresenter.loadContacts(); } @Override public void initListener() { mBtnToolbarSend.setOnClickListener(v -> { if (mSelectedTeamMemberAccounts == null) { mPresenter.createGroup(); } else { //添加群成员 mPresenter.addGroupMembers(); } }); mHeaderView.findViewById(R.id.tvSelectOneGroup).setOnClickListener(v -> UIUtils.showToast("选择一个群")); mQib.setOnLetterUpdateListener(new QuickIndexBar.OnLetterUpdateListener() { @Override public void onLetterUpdate(String letter) { //显示对话框 showLetter(letter); //滑动到第一个对应字母开头的联系人 if ("↑".equalsIgnoreCase(letter)) { mRvContacts.moveToPosition(0); } else if ("☆".equalsIgnoreCase(letter)) { mRvContacts.moveToPosition(0); } else { List<Friend> data = ((LQRAdapterForRecyclerView) ((LQRHeaderAndFooterAdapter) mRvContacts.getAdapter()).getInnerAdapter()).getData(); for (int i = 0; i < data.size(); i++) { Friend friend = data.get(i); String c = friend.getDisplayNameSpelling().charAt(0) + ""; if (c.equalsIgnoreCase(letter)) { mRvContacts.moveToPosition(i); break; } } } } @Override public void onLetterCancel() { //隐藏对话框 hideLetter(); } }); } private void showLetter(String letter) { mTvLetter.setVisibility(View.VISIBLE); mTvLetter.setText(letter); } private void hideLetter() { mTvLetter.setVisibility(View.GONE); } @Override protected CreateGroupAtPresenter createPresenter() { return new CreateGroupAtPresenter(this); } @Override protected int provideContentViewId() { return R.layout.activity_create_group; } @Override public Button getBtnToolbarSend() { return mBtnToolbarSend; } @Override public LQRRecyclerView getRvContacts() { return mRvContacts; } @Override public LQRRecyclerView getRvSelectedContacts() { return mRvSelectedContacts; } @Override public EditText getEtKey() { return mEtKey; } @Override public View getHeaderView() { return mHeaderView; } }