合并1
This commit is contained in:
@@ -0,0 +1,144 @@
|
||||
package com.example.modulevocal.activity.ui.main;
|
||||
|
||||
import android.view.LayoutInflater;
|
||||
import android.view.View;
|
||||
import android.view.ViewGroup;
|
||||
import android.widget.BaseAdapter;
|
||||
import android.widget.ImageView;
|
||||
import android.widget.TextView;
|
||||
import androidx.constraintlayout.widget.ConstraintLayout;
|
||||
import androidx.recyclerview.widget.LinearLayoutManager;
|
||||
import androidx.recyclerview.widget.RecyclerView;
|
||||
import com.example.modulevocal.R;
|
||||
import com.example.modulevocal.adapter.TopUsersAdapter;
|
||||
import com.xscm.moduleutil.bean.CombinedGiftBean;
|
||||
import com.xscm.moduleutil.bean.GiftUserWallBean;
|
||||
import com.xscm.moduleutil.color.ThemeableDrawableUtils;
|
||||
import com.xscm.moduleutil.utils.ColorManager;
|
||||
import com.xscm.moduleutil.utils.ImageLoader;
|
||||
import com.xscm.moduleutil.utils.ImageUtils;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* com.example.modulevocal.activity.ui.main
|
||||
* qx
|
||||
* 2025/11/5
|
||||
*/
|
||||
public class GiftWallAdapter extends BaseAdapter {
|
||||
private List<GiftUserWallBean.GiftWallBean> mDataList;
|
||||
|
||||
public GiftWallAdapter(List<GiftUserWallBean.GiftWallBean> dataList) {
|
||||
this.mDataList = dataList;
|
||||
}
|
||||
|
||||
public void updateData(List<GiftUserWallBean.GiftWallBean> newDataList) {
|
||||
this.mDataList = newDataList;
|
||||
notifyDataSetChanged();
|
||||
}
|
||||
|
||||
@Override
|
||||
public int getCount() {
|
||||
return mDataList != null ? mDataList.size() : 0;
|
||||
}
|
||||
|
||||
@Override
|
||||
public Object getItem(int position) {
|
||||
return mDataList.get(position);
|
||||
}
|
||||
|
||||
@Override
|
||||
public long getItemId(int position) {
|
||||
return position;
|
||||
}
|
||||
|
||||
@Override
|
||||
public View getView(int position, View convertView, ViewGroup parent) {
|
||||
// 实现 GridView item 的布局和数据绑定
|
||||
// 这里返回每个 GridView 项的视图
|
||||
ViewHolder holder;
|
||||
if (convertView == null) {
|
||||
convertView = LayoutInflater.from(parent.getContext())
|
||||
.inflate(R.layout.item_gift_wall, parent, false);
|
||||
holder = new ViewHolder();
|
||||
holder.textView = convertView.findViewById(R.id.tv_gift_name);
|
||||
holder.iv_gift_image = convertView.findViewById(R.id.iv_gift_image);
|
||||
holder.gift_num = convertView.findViewById(R.id.gift_num);
|
||||
holder.tv_price33 = convertView.findViewById(R.id.tv_price33);
|
||||
holder.rv_gift_user_list = convertView.findViewById(R.id.rv_gift_user_list);
|
||||
holder.tv_gift_values = convertView.findViewById(R.id.tv_gift_values);
|
||||
holder.cl_gift_item = convertView.findViewById(R.id.cl_gift_item);
|
||||
convertView.setTag(holder);
|
||||
} else {
|
||||
holder = (ViewHolder) convertView.getTag();
|
||||
}
|
||||
|
||||
GiftUserWallBean.GiftWallBean item = mDataList.get(position);
|
||||
holder.textView.setText(item.getGift_name());
|
||||
// ImageUtils.loadHeadCC(item.getBase_image(), holder.iv_gift_image);
|
||||
holder.tv_price33.setText(item.getGift_price());
|
||||
|
||||
|
||||
TextView tv_number = holder.gift_num;
|
||||
if (item.is_liang()) {
|
||||
holder.tv_gift_values.setVisibility(View.VISIBLE);
|
||||
holder.gift_num.setVisibility(View.VISIBLE);
|
||||
holder.rv_gift_user_list.setVisibility(View.VISIBLE);
|
||||
holder.cl_gift_item.setBackgroundResource(com.xscm.moduleutil.R.mipmap.gift_wall_liang);
|
||||
// helper.getView(R.id.cl_iv_down_on).setBackgroundColor(Color.parseColor("#E6E6E6"));
|
||||
// 点亮的礼物显示高亮和送礼物的用户
|
||||
tv_number.setText("共计" + item.getTotal_count() + "个");
|
||||
ImageUtils.loadHeadCC(item.getBase_image(), holder.iv_gift_image);
|
||||
// 显示送礼物的用户列表
|
||||
RecyclerView recyclerView = holder.rv_gift_user_list;
|
||||
// recyclerView.setLayoutManager(new GridLayoutManager(mContext,2,LinearLayoutManager.HORIZONTAL,false));
|
||||
// recyclerView.setLayoutManager(new LinearLayoutManager(mContext, LinearLayoutManager.HORIZONTAL, false));
|
||||
|
||||
recyclerView.setLayoutManager(new LinearLayoutManager(convertView.getContext(), LinearLayoutManager.HORIZONTAL, false) {
|
||||
@Override
|
||||
public boolean canScrollHorizontally() {
|
||||
return false; // 禁止水平滑动
|
||||
}
|
||||
});
|
||||
|
||||
// TopUsersAdapter topUsersAdapter = new TopUsersAdapter(item.getTop_users());
|
||||
if (item.getTop_users() != null && item.getTop_users().size() > 0) {
|
||||
List<CombinedGiftBean.TopUsers> displayUsers = new ArrayList<>();
|
||||
if (item.getTop_users() != null) {
|
||||
int maxDisplay = Math.min(2, item.getTop_users().size()); // 最多显示2个
|
||||
for (int i = 0; i < maxDisplay; i++) {
|
||||
displayUsers.add(item.getTop_users().get(i));
|
||||
}
|
||||
}
|
||||
TopUsersAdapter topUsersAdapter = new TopUsersAdapter(displayUsers);
|
||||
recyclerView.setAdapter(topUsersAdapter);
|
||||
holder.tv_gift_values.setText("等" + item.getTop_users().size() + "人");
|
||||
}
|
||||
|
||||
|
||||
|
||||
} else {
|
||||
holder.cl_gift_item.setBackgroundResource(com.xscm.moduleutil.R.mipmap.gift_wall_no_liang);
|
||||
ImageLoader.loadImage(convertView.getContext(), holder.iv_gift_image, item.getBase_image(),0.4f);
|
||||
holder.tv_gift_values.setVisibility(View.GONE);
|
||||
holder.gift_num.setVisibility(View.GONE);
|
||||
holder.rv_gift_user_list.setVisibility(View.GONE);
|
||||
}
|
||||
|
||||
|
||||
return convertView;
|
||||
}
|
||||
|
||||
static class ViewHolder {
|
||||
TextView textView;
|
||||
ImageView iv_gift_image;
|
||||
|
||||
TextView tv_gift_values;
|
||||
TextView gift_num;
|
||||
TextView tv_price33;
|
||||
RecyclerView rv_gift_user_list;
|
||||
|
||||
ConstraintLayout cl_gift_item;
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user