Files
yusheng-android/MainModule/src/main/java/com/xscm/modulemain/adapter/GiftUserAdapter.java

214 lines
7.1 KiB
Java
Raw Normal View History

2025-10-28 16:56:13 +08:00
package com.xscm.modulemain.adapter;
2025-10-20 10:16:44 +08:00
import android.graphics.Color;
import android.text.TextUtils;
import android.view.View;
import android.widget.ImageView;
import android.widget.TextView;
2025-11-08 17:45:45 +08:00
import androidx.annotation.NonNull;
import com.blankj.utilcode.util.LogUtils;
2025-10-20 10:16:44 +08:00
import com.chad.library.adapter.base.BaseQuickAdapter;
import com.chad.library.adapter.base.BaseViewHolder;
2025-10-28 16:56:13 +08:00
import com.xscm.modulemain.R;
2025-10-20 10:16:44 +08:00
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);
}
2025-11-08 17:45:45 +08:00
@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"));
}
}
2025-10-20 10:16:44 +08:00
@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());
2025-10-24 17:52:11 +08:00
if (pitNumber > 10) {
2025-10-20 10:16:44 +08:00
helper.setText(R.id.tv_pit, item.getNickname());
2025-10-24 17:52:11 +08:00
} else {
2025-10-20 10:16:44 +08:00
helper.setText(R.id.tv_pit, String.format("%s号麦", item.getPit_number()));
}
2025-10-24 17:52:11 +08:00
if (item.getPit_number().equals("10")) {
2025-10-20 10:16:44 +08:00
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() {
2025-10-24 17:52:11 +08:00
int count = 0;
2025-10-20 10:16:44 +08:00
List<RewardUserBean> data = getData();
for (RewardUserBean item : data) {
2025-10-24 17:52:11 +08:00
if (!item.getUser_id().equals(SpUtil.getUserId() + "")) {
if (item.isSelect()) {
count++;
}
2025-10-20 10:16:44 +08:00
}
}
return count;
}
2025-10-24 17:52:11 +08:00
///获取当前选中的人数
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;
}
2025-10-20 10:16:44 +08:00
public String getUserIdToString() {
List<RewardUserBean> data = getData();
StringBuilder sb = new StringBuilder();
for (int i = 0; i < data.size(); i++) {
2025-10-24 17:52:11 +08:00
if (!data.get(i).getUser_id().equals(SpUtil.getUserId() + "")) {
2025-10-20 10:16:44 +08:00
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(",");
}
2025-10-24 17:52:11 +08:00
if (data != null && data.get(i) != null && data.get(i).getPit_number() != null) {
2025-10-20 10:16:44 +08:00
sb.append(data.get(i).getPit_number());
2025-10-24 17:52:11 +08:00
} else {
2025-10-20 10:16:44 +08:00
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()) {
2025-10-24 17:52:11 +08:00
ids.add(item.getUser_id());
2025-10-20 10:16:44 +08:00
}
}
return ids;
}
}