214 lines
7.1 KiB
Java
214 lines
7.1 KiB
Java
package com.xscm.modulemain.adapter;
|
||
|
||
import android.graphics.Color;
|
||
import android.text.TextUtils;
|
||
import android.view.View;
|
||
import android.widget.ImageView;
|
||
import android.widget.TextView;
|
||
|
||
import androidx.annotation.NonNull;
|
||
|
||
import com.blankj.utilcode.util.LogUtils;
|
||
import com.chad.library.adapter.base.BaseQuickAdapter;
|
||
import com.chad.library.adapter.base.BaseViewHolder;
|
||
import com.xscm.modulemain.R;
|
||
import com.xscm.moduleutil.bean.RewardUserBean;
|
||
import com.xscm.moduleutil.utils.ImageUtils;
|
||
import com.xscm.moduleutil.utils.SpUtil;
|
||
import com.xscm.moduleutil.widget.BaseWheatView;
|
||
|
||
import java.util.ArrayList;
|
||
import java.util.List;
|
||
|
||
/**
|
||
* 项目名称 qipao-android
|
||
* 包名:com.qpyy.room.adapter
|
||
* 创建人 黄强
|
||
* 创建时间 2020/8/6 14:48
|
||
* 描述 describe
|
||
*/
|
||
public class GiftUserAdapter extends BaseQuickAdapter<RewardUserBean, BaseViewHolder> {
|
||
private int ownerModel = 0;
|
||
|
||
|
||
public GiftUserAdapter() {
|
||
super(R.layout.room_rv_item_gift_wheat);
|
||
}
|
||
|
||
@Override
|
||
protected void convertPayloads(@NonNull BaseViewHolder helper, RewardUserBean item, @NonNull List<Object> payloads) {
|
||
super.convertPayloads(helper, item, payloads);
|
||
helper.setVisible(R.id.riv_pit, item.isSelect());
|
||
TextView tvPit = helper.getView(R.id.tv_pit);
|
||
if (item.isSelect()) {
|
||
helper.getView(R.id.tv_pit).setBackgroundResource(com.xscm.moduleutil.R.mipmap.gift_show);
|
||
tvPit.setTextColor(Color.parseColor("#ffffff"));
|
||
} else {
|
||
helper.getView(R.id.tv_pit).setBackgroundResource(com.xscm.moduleutil.R.mipmap.gift_show_b);
|
||
tvPit.setTextColor(Color.parseColor("#ff333333"));
|
||
}
|
||
}
|
||
|
||
@Override
|
||
protected void convert(BaseViewHolder helper, RewardUserBean item) {
|
||
ImageUtils.loadHeadCC(item.getAvatar(), helper.getView(R.id.riv_gift_wheat_head_pic));
|
||
ImageView rivPit = helper.getView(R.id.riv_pit);
|
||
TextView tvPit = helper.getView(R.id.tv_pit);
|
||
rivPit.setVisibility(item.isSelect() ? View.VISIBLE : View.INVISIBLE);
|
||
|
||
if (TextUtils.isEmpty(item.getPit_number()) || "0".equals(item.getPit_number())) {
|
||
helper.setVisible(R.id.tv_pit, false);
|
||
} else {
|
||
helper.setVisible(R.id.tv_pit, true);
|
||
int pitNumber = Integer.parseInt(item.getPit_number());
|
||
if (pitNumber > 10) {
|
||
helper.setText(R.id.tv_pit, item.getNickname());
|
||
} else {
|
||
helper.setText(R.id.tv_pit, String.format("%s号麦", item.getPit_number()));
|
||
}
|
||
if (item.getPit_number().equals("10")) {
|
||
helper.setText(R.id.tv_pit, "嘉宾");
|
||
}
|
||
if (BaseWheatView.WHEAT_HOST.equals(item.getPit_number())) {
|
||
if (2 == ownerModel || 0 == ownerModel) {
|
||
helper.setText(R.id.tv_pit, "主持人");
|
||
} else {
|
||
helper.setText(R.id.tv_pit, "房主");
|
||
}
|
||
}
|
||
}
|
||
if (item.isSelect()) {
|
||
helper.getView(R.id.tv_pit).setBackgroundResource(com.xscm.moduleutil.R.mipmap.gift_show);
|
||
tvPit.setTextColor(Color.parseColor("#ffffff"));
|
||
} else {
|
||
helper.getView(R.id.tv_pit).setBackgroundResource(com.xscm.moduleutil.R.mipmap.gift_show_b);
|
||
tvPit.setTextColor(Color.parseColor("#ff333333"));
|
||
}
|
||
}
|
||
|
||
public boolean isAll() {
|
||
int count = 0;
|
||
List<RewardUserBean> data = getData();
|
||
for (RewardUserBean item : data) {
|
||
if (item.isSelect()) {
|
||
count++;
|
||
}
|
||
}
|
||
return count > 0 && count == data.size();
|
||
}
|
||
|
||
public void allElection(boolean b) {
|
||
List<RewardUserBean> data = getData();
|
||
for (RewardUserBean item : data) {
|
||
item.setSelect(b);
|
||
}
|
||
notifyDataSetChanged();
|
||
}
|
||
|
||
public int getSelectCount() {
|
||
int count = 0;
|
||
List<RewardUserBean> data = getData();
|
||
for (RewardUserBean item : data) {
|
||
if (!item.getUser_id().equals(SpUtil.getUserId() + "")) {
|
||
if (item.isSelect()) {
|
||
count++;
|
||
}
|
||
}
|
||
}
|
||
return count;
|
||
}
|
||
///获取当前选中的人数
|
||
public int getUserIdCount(){
|
||
int count = 0;
|
||
List<RewardUserBean> data = getData();
|
||
StringBuilder sb = new StringBuilder();
|
||
for (int i = 0; i < data.size(); i++) {
|
||
if (!data.get(i).getUser_id().equals(SpUtil.getUserId() + "")) {
|
||
if (data.get(i).isSelect()) {
|
||
count++;
|
||
}
|
||
}
|
||
}
|
||
return count;
|
||
}
|
||
|
||
public String getUserIdToString() {
|
||
List<RewardUserBean> data = getData();
|
||
StringBuilder sb = new StringBuilder();
|
||
for (int i = 0; i < data.size(); i++) {
|
||
if (!data.get(i).getUser_id().equals(SpUtil.getUserId() + "")) {
|
||
if (data.get(i).isSelect()) {
|
||
if (sb.length() > 0) {//该步即不会第一位有逗号,也防止最后一位拼接逗号!
|
||
sb.append(",");
|
||
}
|
||
sb.append(data.get(i).getUser_id());
|
||
}
|
||
}
|
||
}
|
||
return sb.toString();
|
||
}
|
||
|
||
public String getUserPitToString() {
|
||
List<RewardUserBean> data = getData();
|
||
StringBuilder sb = new StringBuilder();
|
||
for (int i = 0; i < data.size(); i++) {
|
||
if (data.get(i).isSelect()) {
|
||
if (sb.length() > 0) {//该步即不会第一位有逗号,也防止最后一位拼接逗号!
|
||
sb.append(",");
|
||
}
|
||
if (data != null && data.get(i) != null && data.get(i).getPit_number() != null) {
|
||
sb.append(data.get(i).getPit_number());
|
||
} else {
|
||
sb.append("");
|
||
}
|
||
}
|
||
}
|
||
return sb.toString();
|
||
}
|
||
|
||
|
||
public List<RewardUserBean> getGiftUser() {
|
||
List<RewardUserBean> data = getData();
|
||
List<RewardUserBean> giftUserList = new ArrayList<>();
|
||
for (RewardUserBean item : data) {
|
||
if (item.isSelect()) {
|
||
giftUserList.add(item);
|
||
}
|
||
}
|
||
return giftUserList;
|
||
}
|
||
|
||
/**
|
||
* 清除所有选中
|
||
*/
|
||
public List<String> clearAllSelected() {
|
||
List<String> ids = new ArrayList<>();
|
||
List<RewardUserBean> data = getData();
|
||
for (RewardUserBean item : data) {
|
||
if (item.isSelect()) {
|
||
ids.add(item.getUser_id());
|
||
}
|
||
item.setSelect(false);
|
||
}
|
||
notifyDataSetChanged();
|
||
return ids;
|
||
}
|
||
|
||
public void setOwnerModel(int ownerModel) {
|
||
this.ownerModel = ownerModel;
|
||
notifyDataSetChanged();
|
||
}
|
||
|
||
public List<String> getAllSelectedIds() {
|
||
List<String> ids = new ArrayList<>();
|
||
List<RewardUserBean> data = getData();
|
||
for (RewardUserBean item : data) {
|
||
if (item.isSelect()) {
|
||
|
||
ids.add(item.getUser_id());
|
||
}
|
||
}
|
||
return ids;
|
||
}
|
||
|
||
} |