From b4ffa086fb457522ac678b529c609627a572a102 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=A2=81=E5=B0=8F=E6=B1=9F?= <461355754@qq.com> Date: Fri, 5 Dec 2025 20:26:05 +0800 Subject: [PATCH] =?UTF-8?q?1:=E4=BF=AE=E6=94=B9=E8=B6=A3=E5=91=B3=E4=B8=8D?= =?UTF-8?q?=E6=92=AD=E6=94=BE=E5=8A=A8=E7=94=BB=E7=9A=84=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../modulemain/adapter/EaseChatAdapter.java | 84 +++++++++---------- 1 file changed, 41 insertions(+), 43 deletions(-) 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 { // 确保在非表情情况下,重置视图状态