From ec983f7b2cde4d7692f32eb7ef1a27119376025f Mon Sep 17 00:00:00 2001 From: chenjuntao Date: Wed, 15 Feb 2023 18:38:14 +0800 Subject: [PATCH] =?UTF-8?q?fix:=20=E8=A1=A5=E5=85=85=E6=B6=88=E6=81=AF?= =?UTF-8?q?=E4=B8=AD=E5=BF=83=E6=96=87=E6=9C=AC=E9=AB=98=E4=BA=AE=20https:?= =?UTF-8?q?//jira.shanqu.cc/browse/GHZS-1207?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../message/MessageItemViewHolder.java | 29 ++++++++++--------- 1 file changed, 16 insertions(+), 13 deletions(-) diff --git a/app/src/main/java/com/gh/gamecenter/message/MessageItemViewHolder.java b/app/src/main/java/com/gh/gamecenter/message/MessageItemViewHolder.java index 4f7ff31605..30bd8546a8 100644 --- a/app/src/main/java/com/gh/gamecenter/message/MessageItemViewHolder.java +++ b/app/src/main/java/com/gh/gamecenter/message/MessageItemViewHolder.java @@ -107,11 +107,12 @@ public class MessageItemViewHolder extends BaseRecyclerViewHolder List videos; String targetUrl = null; // 防止串行 String imageCommentStr = "[图片评论]"; + String content = ""; switch (messageEntity.getType()) { case "answer": mBinding.messageCommand.setText("回答了你的问题"); mBinding.messageContent.setVisibility(View.VISIBLE); - mBinding.messageContent.setText(messageEntity.getAnswer().getContent()); + content = messageEntity.getAnswer().getContent(); mBinding.messageOriginalTitle.setText(messageEntity.getQuestion().getTitle()); videos = messageEntity.getQuestion().getVideos(); if (videos.size() > 0) { @@ -131,7 +132,7 @@ public class MessageItemViewHolder extends BaseRecyclerViewHolder case "reply": mBinding.messageCommand.setText("回复了你"); mBinding.messageContent.setVisibility(View.VISIBLE); - mBinding.messageContent.setText(messageEntity.getDialogue().getFrom().getContent()); + content = messageEntity.getDialogue().getFrom().getContent(); mBinding.messageOriginalTitle.setText(messageEntity.getDialogue().getTo().getContent()); targetUrl = messageEntity.getArticle().getThumb(); if (TextUtils.isEmpty(targetUrl)) { @@ -145,7 +146,7 @@ public class MessageItemViewHolder extends BaseRecyclerViewHolder case "follow_question": mBinding.messageCommand.setText("回答了你关注的问题"); mBinding.messageContent.setVisibility(View.VISIBLE); - mBinding.messageContent.setText(messageEntity.getAnswer().getContent()); + content = messageEntity.getAnswer().getContent(); mBinding.messageOriginalTitle.setText(messageEntity.getQuestion().getTitle()); images = messageEntity.getAnswer().getImages(); if (images.size() > 0) { @@ -159,7 +160,7 @@ public class MessageItemViewHolder extends BaseRecyclerViewHolder case "reply_answer_comment": mBinding.messageCommand.setText("回复了你"); mBinding.messageContent.setVisibility(View.VISIBLE); - mBinding.messageContent.setText(messageEntity.getDialogue().getFrom().getContent()); + content = messageEntity.getDialogue().getFrom().getContent(); mBinding.messageOriginalTitle.setText(messageEntity.getDialogue().getTo().getContent()); mBinding.messageOriginalIcon.setVisibility(View.GONE); voteMoreUser(messageEntity); @@ -167,7 +168,7 @@ public class MessageItemViewHolder extends BaseRecyclerViewHolder case "answer_comment": mBinding.messageCommand.setText("回复了你的回答"); mBinding.messageContent.setVisibility(View.VISIBLE); - mBinding.messageContent.setText(messageEntity.getComment().getContent()); + content = messageEntity.getComment().getContent(); if (messageEntity.getAnswer().getContent() != null) { mBinding.messageOriginalTitle.setText(messageEntity.getAnswer().getContent().replace(imageCommentStr, "")); } @@ -291,7 +292,7 @@ public class MessageItemViewHolder extends BaseRecyclerViewHolder case "community_article_comment": mBinding.messageCommand.setText("评论了你的帖子"); mBinding.messageContent.setVisibility(View.VISIBLE); - mBinding.messageContent.setText(messageEntity.getComment().getContent()); + content = messageEntity.getComment().getContent(); mBinding.messageOriginalTitle.setText(messageEntity.getArticle().getTitle()); videos = messageEntity.getArticle().getVideos(); if (videos.size() > 0) { @@ -339,7 +340,7 @@ public class MessageItemViewHolder extends BaseRecyclerViewHolder } } mBinding.messageContent.setVisibility(View.VISIBLE); - mBinding.messageContent.setText(messageEntity.getDialogue().getFrom().getContent()); + content = messageEntity.getDialogue().getFrom().getContent(); if (messageEntity.getDialogue().getTo().getContent() != null) { mBinding.messageOriginalTitle.setText(messageEntity.getDialogue().getTo().getContent().replace(imageCommentStr, "")); } @@ -348,7 +349,7 @@ public class MessageItemViewHolder extends BaseRecyclerViewHolder case "update-answer": mBinding.messageCommand.setText("更新了回答"); mBinding.messageContent.setVisibility(View.VISIBLE); - mBinding.messageContent.setText(messageEntity.getAnswer().getContent()); + content = messageEntity.getAnswer().getContent(); mBinding.messageOriginalTitle.setText(messageEntity.getQuestion().getTitle()); images = messageEntity.getAnswer().getImages(); if (images.size() > 0) { @@ -375,7 +376,7 @@ public class MessageItemViewHolder extends BaseRecyclerViewHolder case "game_comment_reply": mBinding.messageCommand.setText("回复了你的评价"); mBinding.messageContent.setVisibility(View.VISIBLE); - mBinding.messageContent.setText(messageEntity.getReply().getContent()); + content = messageEntity.getReply().getContent(); String parentId = messageEntity.getReply().getParent().getId(); // parentContent为空代表是回复评价中的回复,否则是回复游戏评价 if (!TextUtils.isEmpty(parentId)) { @@ -420,7 +421,7 @@ public class MessageItemViewHolder extends BaseRecyclerViewHolder case "video_comment": mBinding.messageCommand.setText("评论了你的帖子"); mBinding.messageContent.setVisibility(View.VISIBLE); - mBinding.messageContent.setText(messageEntity.getComment().getContent()); + content = messageEntity.getComment().getContent(); mBinding.messageOriginalTitle.setText(messageEntity.getVideo().getTitle()); targetUrl = messageEntity.getVideo().getPoster(); if (TextUtils.isEmpty(targetUrl)) { @@ -447,7 +448,7 @@ public class MessageItemViewHolder extends BaseRecyclerViewHolder case "reply_activity_comment": mBinding.messageCommand.setText("回复了你"); mBinding.messageContent.setVisibility(View.VISIBLE); - mBinding.messageContent.setText(messageEntity.getDialogue().getFrom().getContent()); + content = messageEntity.getDialogue().getFrom().getContent(); mBinding.messageOriginalTitle.setText(messageEntity.getActivity().getTitle()); targetUrl = messageEntity.getActivity().getImageUrl(); if (TextUtils.isEmpty(targetUrl)) { @@ -500,7 +501,7 @@ public class MessageItemViewHolder extends BaseRecyclerViewHolder case "game_list_comment": mBinding.messageCommand.setText("评价了你的游戏单"); mBinding.messageContent.setVisibility(View.VISIBLE); - mBinding.messageContent.setText(messageEntity.getComment().getContent()); + content = messageEntity.getComment().getContent(); mBinding.messageOriginalTitle.setText(messageEntity.getGameList().getTitle()); targetUrl = messageEntity.getGameList().getCover(); if (TextUtils.isEmpty(targetUrl)) { @@ -527,7 +528,7 @@ public class MessageItemViewHolder extends BaseRecyclerViewHolder case "game_list_comment_reply": mBinding.messageCommand.setText("回复了你的游戏单评价"); mBinding.messageContent.setVisibility(View.VISIBLE); - mBinding.messageContent.setText(messageEntity.getComment().getContent()); + content = messageEntity.getComment().getContent(); mBinding.messageOriginalTitle.setText(messageEntity.getComment().getParent().getContent()); targetUrl = messageEntity.getGameList().getCover(); if (TextUtils.isEmpty(targetUrl)) { @@ -540,6 +541,8 @@ public class MessageItemViewHolder extends BaseRecyclerViewHolder break; } + TextHelper.highlightTextThatIsWrappedInsideWrapperByDefault(mBinding.messageContent, content); + mBinding.messageOriginalTitle.post(() -> { ViewGroup.LayoutParams params = mBinding.messageOriginal.getLayoutParams(); if (mBinding.messageOriginalTitle.getLineCount() > 1 || mBinding.messageOriginalIcon.getVisibility() == View.VISIBLE) {