diff --git a/MainModule/src/main/java/com/xscm/modulemain/adapter/EaseChatAdapter.java b/MainModule/src/main/java/com/xscm/modulemain/adapter/EaseChatAdapter.java index 78a10b46..514b75ec 100644 --- a/MainModule/src/main/java/com/xscm/modulemain/adapter/EaseChatAdapter.java +++ b/MainModule/src/main/java/com/xscm/modulemain/adapter/EaseChatAdapter.java @@ -315,58 +315,56 @@ public class EaseChatAdapter extends BaseMultiItemQuickAdapter() { + @Override + public boolean onResourceReady(Drawable resource, Object model, Target 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; + } + + @Override + public boolean onLoadFailed(@Nullable GlideException e, Object model, Target target, + boolean isFirstResource) { + // 加载失败时检查视图是否仍属于当前数据项 + if (uniqueId.equals(emojiImageView.getTag())) { + // 加载静态表情作为备选 + Glide.with(mContext) + .load(emMessage.getText().getEmoji().getImage()) + .into(emojiImageView); + } + return false; + } + }) + .into(emojiImageView); } return; } - if (!emMessage.getText().getEmoji().getAnimate_image().isEmpty()) { - // 使用 RequestListener 监听加载完成 + // 如果没有动画图片,直接加载静态图片 + // 检查视图是否仍属于当前数据项 + if (uniqueId.equals(emojiImageView.getTag())) { Glide.with(mContext) - .load(emMessage.getText().getEmoji().getAnimate_image()) - .listener(new RequestListener() { - @Override - public boolean onResourceReady(Drawable resource, Object model, Target 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; - } - - @Override - public boolean onLoadFailed(@Nullable GlideException e, Object model, Target target, - boolean isFirstResource) { - // 加载失败时检查视图是否仍属于当前数据项 - if (uniqueId.equals(emojiImageView.getTag())) { - // 加载静态表情作为备选 - Glide.with(mContext) - .load(emMessage.getText().getEmoji().getImage()) - .into(emojiImageView); - } - return false; - } - }) + .load(emMessage.getText().getEmoji().getImage()) .into(emojiImageView); - } else { - // 检查视图是否仍属于当前数据项 - if (uniqueId.equals(emojiImageView.getTag())) { - Glide.with(mContext) - .load(emMessage.getText().getEmoji().getImage()) - .into(emojiImageView); - } } } else { // 确保在非表情情况下,重置视图状态