合并2
This commit is contained in:
@@ -45,7 +45,7 @@ public class BlackAdapter extends BaseQuickAdapter<BlackUserBean, BaseViewHolder
|
||||
@Override
|
||||
protected void convert(BaseViewHolder helper, BlackUserBean item) {
|
||||
MeHeadView headView = helper.getView(R.id.im_user);
|
||||
headView.setData(item.getAvatar(), "", item.getSex() + "");
|
||||
headView.setData(item.getAvatar(), "", "");
|
||||
helper.setText(R.id.tv_nick_name, item.getNickname());
|
||||
TextView imageView= helper.getView(R.id.im_g);
|
||||
helper.setText(R.id.tv_oline, item.getIs_online() == 1 ? "[在线]" : "[离线]");
|
||||
|
||||
@@ -35,7 +35,9 @@ import com.xscm.moduleutil.bean.GiftBean;
|
||||
import com.xscm.moduleutil.bean.RoomMessageEvent;
|
||||
import com.xscm.moduleutil.bean.UserInfo;
|
||||
import com.xscm.moduleutil.bean.room.EMMessageInfo;
|
||||
import com.xscm.moduleutil.bean.room.EmotionDeatils;
|
||||
import com.xscm.moduleutil.utils.ImageUtils;
|
||||
import com.xscm.moduleutil.utils.MeHeadView;
|
||||
import com.xscm.moduleutil.utils.logger.Logger;
|
||||
import com.xscm.moduleutil.widget.AdaptiveImageView;
|
||||
import com.xscm.moduleutil.widget.GifAvatarOvalView;
|
||||
@@ -45,6 +47,7 @@ import java.util.ArrayList;
|
||||
import java.util.Collection;
|
||||
import java.util.List;
|
||||
import java.util.Objects;
|
||||
import java.util.Optional;
|
||||
|
||||
|
||||
/**
|
||||
@@ -209,9 +212,11 @@ public class EaseChatAdapter extends BaseMultiItemQuickAdapter<EMMessageInfo, Ba
|
||||
emojiImageView.setVisibility(View.VISIBLE);
|
||||
helper.getView(com.xscm.moduleutil.R.id.tv_content).setVisibility(View.GONE);
|
||||
|
||||
|
||||
MeHeadView avatar = helper.getView(com.xscm.moduleutil.R.id.avatar);
|
||||
avatar.setData(emMessage.getText().getFromUserInfo().getAvatar(), "", emMessage.getText().getFromUserInfo().getNobility_image());
|
||||
ImageUtils.loadHeadCC(emMessage.getText().getFromUserInfo().getAvatar(), helper.getView(com.xscm.moduleutil.R.id.avatar));
|
||||
helper.setText(com.xscm.moduleutil.R.id.tv_name, emMessage.getText().getFromUserInfo().getNickname());
|
||||
// helper.setText(com.xscm.moduleutil.R.id.tv_name, emMessage.getText().getFromUserInfo().getNickname());
|
||||
helper.setTextColor(com.xscm.moduleutil.R.id.tv_name, emMessage.getText().getFromUserInfo().getNickname_color()!=null && !emMessage.getText().getFromUserInfo().getNickname_color().isEmpty()? Color.parseColor(emMessage.getText().getFromUserInfo().getNickname_color()):Color.parseColor("#CCA882"));
|
||||
if (emMessage.getText().getText() != null) {
|
||||
helper.setText(com.xscm.moduleutil.R.id.tv_content, getSpannable(emMessage));
|
||||
}
|
||||
@@ -270,9 +275,16 @@ public class EaseChatAdapter extends BaseMultiItemQuickAdapter<EMMessageInfo, Ba
|
||||
String uniqueId = emMessage.getRoomId() + "_" + helper.getLayoutPosition();
|
||||
emojiImageView.setTag(uniqueId);
|
||||
|
||||
if (Objects.equals(emMessage.getText().getEmoji().getAnimate_image(), "") ||
|
||||
emMessage.getText().getEmoji().getAnimate_image().isEmpty()) {
|
||||
//这段代码使用 Optional 链式调用安全地获取 emMessage 中的 animate_image 字段,避免空指针异常。如果任意环节为 null,则返回空字符串。
|
||||
String animateImage = Optional.ofNullable(emMessage)
|
||||
.map(RoomMessageEvent::getText)
|
||||
.map(RoomMessageEvent.T::getEmoji)
|
||||
.map(EmotionDeatils::getAnimate_image)
|
||||
.orElse("");
|
||||
|
||||
// if (Objects.equals(emMessage.getText().getEmoji().getAnimate_image(), "") ||
|
||||
// emMessage.getText().getEmoji().getAnimate_image().isEmpty()) {
|
||||
if (!animateImage.isEmpty()){
|
||||
// 检查视图是否仍属于当前数据项
|
||||
if (uniqueId.equals(emojiImageView.getTag())) {
|
||||
ImageUtils.loadHeadCC(emMessage.getText().getEmoji().getImage(), emojiImageView);
|
||||
@@ -280,35 +292,42 @@ public class EaseChatAdapter extends BaseMultiItemQuickAdapter<EMMessageInfo, Ba
|
||||
return;
|
||||
}
|
||||
|
||||
// 使用 RequestListener 监听加载完成
|
||||
Glide.with(mContext)
|
||||
.load(emMessage.getText().getEmoji().getAnimate_image())
|
||||
.listener(new RequestListener<Drawable>() {
|
||||
@Override
|
||||
public boolean onResourceReady(Drawable resource, Object model, Target<Drawable> target,
|
||||
DataSource dataSource, boolean isFirstResource) {
|
||||
// 检查视图是否仍属于当前数据项
|
||||
if (uniqueId.equals(emojiImageView.getTag())) {
|
||||
// 加载完成后执行
|
||||
new Handler().postDelayed(() -> {
|
||||
// 再次检查视图状态
|
||||
if (uniqueId.equals(emojiImageView.getTag())) {
|
||||
Glide.with(mContext)
|
||||
.load(emMessage.getText().getEmoji().getImage())
|
||||
.into(emojiImageView);
|
||||
}
|
||||
}, 1500);
|
||||
if (!emMessage.getText().getEmoji().getAnimate_image().isEmpty()) {
|
||||
// 使用 RequestListener 监听加载完成
|
||||
Glide.with(mContext)
|
||||
.load(emMessage.getText().getEmoji().getAnimate_image())
|
||||
.listener(new RequestListener<Drawable>() {
|
||||
@Override
|
||||
public boolean onResourceReady(Drawable resource, Object model, Target<Drawable> target,
|
||||
DataSource dataSource, boolean isFirstResource) {
|
||||
// 检查视图是否仍属于当前数据项
|
||||
if (uniqueId.equals(emojiImageView.getTag())) {
|
||||
// 加载完成后执行
|
||||
new Handler().postDelayed(() -> {
|
||||
// 再次检查视图状态
|
||||
if (uniqueId.equals(emojiImageView.getTag())) {
|
||||
Glide.with(mContext)
|
||||
.load(emMessage.getText().getEmoji().getImage())
|
||||
.into(emojiImageView);
|
||||
}
|
||||
}, 1500);
|
||||
}
|
||||
return false;
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean onLoadFailed(@Nullable GlideException e, Object model, Target<Drawable> target,
|
||||
boolean isFirstResource) {
|
||||
return false;
|
||||
}
|
||||
})
|
||||
.into(emojiImageView);
|
||||
@Override
|
||||
public boolean onLoadFailed(@Nullable GlideException e, Object model, Target<Drawable> target,
|
||||
boolean isFirstResource) {
|
||||
|
||||
return false;
|
||||
}
|
||||
})
|
||||
.into(emojiImageView);
|
||||
}else {
|
||||
Glide.with(mContext)
|
||||
.load(emMessage.getText().getEmoji().getImage())
|
||||
.into(emojiImageView);
|
||||
}
|
||||
} else {
|
||||
helper.getView(com.xscm.moduleutil.R.id.tv_content).setVisibility(View.VISIBLE);
|
||||
emojiImageView.setVisibility(View.GONE);
|
||||
@@ -573,7 +592,7 @@ public class EaseChatAdapter extends BaseMultiItemQuickAdapter<EMMessageInfo, Ba
|
||||
public void onViewRecycled(@NonNull BaseViewHolder holder) {
|
||||
Logger.e("onViewRecycled", "onViewRecycled");
|
||||
// AdaptiveImageView imEmj = (AdaptiveImageView)holder.getView(com.xscm.moduleutil.R.id.im_emj);
|
||||
GifAvatarOvalView avatarOvalView = holder.getView(com.xscm.moduleutil.R.id.avatar);
|
||||
MeHeadView avatarOvalView = holder.getView(com.xscm.moduleutil.R.id.avatar);
|
||||
ImageView ivNobility = holder.getView(com.xscm.moduleutil.R.id.iv_nobility);
|
||||
ImageView ivCharm = holder.getView(com.xscm.moduleutil.R.id.iv_charm);
|
||||
|
||||
@@ -592,7 +611,6 @@ public class EaseChatAdapter extends BaseMultiItemQuickAdapter<EMMessageInfo, Ba
|
||||
|
||||
// 清理其他图片
|
||||
if (avatarOvalView != null) {
|
||||
avatarOvalView.setImageDrawable(null);
|
||||
Glide.with(avatarOvalView.getContext()).clear(avatarOvalView);
|
||||
}
|
||||
if (ivNobility != null) {
|
||||
|
||||
@@ -2,6 +2,7 @@ package com.xscm.modulemain.adapter;
|
||||
|
||||
import com.chad.library.adapter.base.BaseQuickAdapter;
|
||||
import com.chad.library.adapter.base.BaseViewHolder;
|
||||
import com.hjq.toast.ToastUtils;
|
||||
import com.xscm.modulemain.R;
|
||||
import com.xscm.moduleutil.bean.room.EmotionDeatils;
|
||||
import com.xscm.moduleutil.utils.ImageUtils;
|
||||
@@ -28,9 +29,17 @@ public class EmotionAdapter extends BaseQuickAdapter<EmotionDeatils, BaseViewHol
|
||||
protected void convert(BaseViewHolder helper, EmotionDeatils item) {
|
||||
ImageUtils.loadHeadCC(item.getImage(), helper.getView(R.id.iv_emotion));
|
||||
helper.setText(R.id.tv_emotion_name, item.getName());
|
||||
|
||||
if (item.is_lock()==0){
|
||||
helper.setVisible(R.id.iv_select,false);
|
||||
}else {
|
||||
helper.setVisible(R.id.iv_select,true);
|
||||
}
|
||||
// 设置点击事件
|
||||
helper.itemView.setOnClickListener(v -> {
|
||||
if (item.is_lock()==1){
|
||||
ToastUtils.show("当前属于爵位专属,请先开通爵位");
|
||||
return;
|
||||
}
|
||||
if (onEmotionClickListener != null) {
|
||||
onEmotionClickListener.onEmotionClick(item);
|
||||
}
|
||||
|
||||
@@ -1,5 +1,6 @@
|
||||
package com.xscm.modulemain.adapter;
|
||||
|
||||
import android.graphics.Color;
|
||||
import android.view.View;
|
||||
import android.widget.ImageView;
|
||||
import android.widget.LinearLayout;
|
||||
@@ -53,6 +54,7 @@ public class ExpandColumnAdapter extends BaseQuickAdapter<ExpandColumnBean, Base
|
||||
helper.setText(R.id.tv_agree,(item.getAgree()!=null?item.getAgree():"0")+"岁");
|
||||
//昵称
|
||||
helper.setText(R.id.dy_name_text, item.getNickname());
|
||||
helper.setTextColor(R.id.dy_name_text,(item.getNickname_color()!=null && !item.getNickname_color().isEmpty())? Color.parseColor(item.getNickname_color()):Color.parseColor("#333333"));
|
||||
helper.setText(R.id.tv_address, item.getLoginip());
|
||||
if (item.getUser_id().equals(SpUtil.getUserId()+"")){
|
||||
helper.setVisible(R.id.gensui, false);
|
||||
@@ -77,7 +79,7 @@ public class ExpandColumnAdapter extends BaseQuickAdapter<ExpandColumnBean, Base
|
||||
//头像
|
||||
// ImageUtils.loadHeadCC(item.getAvatar(), (ImageView) helper.getView(R.id.dy_head_image));
|
||||
MeHeadView headView = helper.getView(R.id.dy_head_image);
|
||||
headView.setData(item.getAvatar(), "", item.getSex());
|
||||
headView.setData(item.getAvatar(), "", item.getNobility_image());
|
||||
|
||||
if (item.getHome_bgimages() != null && !item.getHome_bgimages().isEmpty()) {
|
||||
// String[] arrIv = item.getHome_bgimages().toArray(new String[item.getHome_bgimages().size()]);
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
package com.example.modulevocal.activity.ui.main;
|
||||
package com.xscm.modulemain.adapter;
|
||||
|
||||
import android.view.LayoutInflater;
|
||||
import android.view.View;
|
||||
@@ -6,15 +6,14 @@ 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.modulemain.R;
|
||||
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;
|
||||
|
||||
|
||||
@@ -1,24 +1,16 @@
|
||||
package com.example.modulevocal.adapter;
|
||||
package com.xscm.modulemain.adapter;
|
||||
|
||||
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.activity.ui.main.GiftWallAdapter;
|
||||
import com.xscm.moduleutil.bean.CombinedGiftBean;
|
||||
import com.xscm.moduleutil.bean.GiftUserWallBean;
|
||||
|
||||
import com.xscm.modulemain.R;
|
||||
import com.xscm.moduleutil.bean.NobilitList;
|
||||
import com.xscm.moduleutil.utils.ImageLoader;
|
||||
import com.xscm.moduleutil.utils.ImageUtils;
|
||||
import com.xscm.moduleutil.widget.CircularImage;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
package com.example.modulevocal.adapter;
|
||||
package com.xscm.modulemain.adapter;
|
||||
|
||||
import com.chad.library.adapter.base.BaseQuickAdapter;
|
||||
import com.chad.library.adapter.base.BaseViewHolder;
|
||||
import com.example.modulevocal.R;
|
||||
import com.xscm.modulemain.R;
|
||||
import com.xscm.moduleutil.bean.NobilityPrice;
|
||||
|
||||
/**
|
||||
|
||||
@@ -1,9 +1,8 @@
|
||||
package com.example.modulevocal.adapter;
|
||||
package com.xscm.modulemain.adapter;
|
||||
|
||||
import android.view.View;
|
||||
import android.widget.ImageView;
|
||||
import android.widget.TextView;
|
||||
import com.example.modulevocal.R;
|
||||
|
||||
import com.xscm.modulemain.R;
|
||||
import com.xscm.moduleutil.bean.NobilitList;
|
||||
import com.xscm.moduleutil.bean.TopRoom;
|
||||
import com.xscm.moduleutil.utils.ImageLoader;
|
||||
|
||||
@@ -38,7 +38,7 @@ public class SearchUserResultAdapter extends BaseQuickAdapter<UserResultResp, Ba
|
||||
helper.setText(R.id.dy_name_text, KeyWordUtil.matcherSearchTitle(Color.parseColor("#FFBC00"), item.getNickname(), keyWord));
|
||||
helper.setText(R.id.tv_id, "ID:" + item.getUser_code());
|
||||
MeHeadView headView = helper.getView(R.id.dy_head_image);
|
||||
headView.setData(item.getHead_picture(), "", item.getSex());
|
||||
headView.setData(item.getHead_picture(), "", "");
|
||||
// if (item.getUser_id().equals(SpUtil.getUserId() + "")) {
|
||||
// helper.setVisible(R.id.gensui, false);
|
||||
// } else {
|
||||
|
||||
@@ -1,12 +1,14 @@
|
||||
package com.example.modulevocal.activity.ui.main;
|
||||
package com.xscm.modulemain.adapter;
|
||||
|
||||
import android.content.Context;
|
||||
import android.os.Bundle;
|
||||
|
||||
import androidx.annotation.NonNull;
|
||||
import androidx.annotation.Nullable;
|
||||
import androidx.annotation.StringRes;
|
||||
import androidx.fragment.app.*;
|
||||
import androidx.fragment.app.Fragment;
|
||||
import androidx.fragment.app.FragmentActivity;
|
||||
import androidx.viewpager2.adapter.FragmentStateAdapter;
|
||||
|
||||
import com.xscm.moduleutil.bean.GiftUserWallBean;
|
||||
|
||||
import java.io.Serializable;
|
||||
@@ -15,7 +17,7 @@ import java.io.Serializable;
|
||||
* A [FragmentPagerAdapter] that returns a fragment corresponding to
|
||||
* one of the sections/tabs/pages.
|
||||
*/
|
||||
public class SectionsPagerAdapter extends FragmentStateAdapter {
|
||||
public class SectionsGifPagerAdapter extends FragmentStateAdapter {
|
||||
|
||||
@StringRes
|
||||
private static final int[] TAB_TITLES = new int[]{com.xscm.moduleutil.R.string.tab_text_1, com.xscm.moduleutil.R.string.tab_text_2};
|
||||
@@ -28,7 +30,7 @@ public class SectionsPagerAdapter extends FragmentStateAdapter {
|
||||
// this.giftData = giftData;
|
||||
// }
|
||||
|
||||
public SectionsPagerAdapter(@NonNull FragmentActivity fragmentActivity, GiftUserWallBean giftData) {
|
||||
public SectionsGifPagerAdapter(@NonNull FragmentActivity fragmentActivity, GiftUserWallBean giftData) {
|
||||
super(fragmentActivity);
|
||||
this.mContext = fragmentActivity;
|
||||
this.giftData = giftData;
|
||||
|
||||
Reference in New Issue
Block a user