From f2b094fff0832102e919cb1bfdc41b2b7bf1a22f Mon Sep 17 00:00:00 2001 From: kehaoyuan Date: Fri, 22 Mar 2019 18:54:55 +0800 Subject: [PATCH] =?UTF-8?q?=E7=BB=9F=E4=B8=80=E5=86=85=E5=AE=B9=E6=95=B0?= =?UTF-8?q?=E5=80=BC=E6=98=BE=E7=A4=BA=E8=A7=84=E5=88=99=20=E5=AE=8C?= =?UTF-8?q?=E6=88=90=20https://gitlab.ghzhushou.com/pm/halo-app-issues/iss?= =?UTF-8?q?ues/468?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/src/main/java/com/gh/common/util/CommentUtils.java | 8 ++++---- app/src/main/java/com/gh/common/util/NumberUtils.kt | 10 +++++----- .../gh/gamecenter/adapter/MessageDetailAdapter.java | 9 +++------ .../com/gh/gamecenter/collection/ArticleAdapter.java | 7 ++++--- .../java/com/gh/gamecenter/info/ConcernAdapter.java | 9 +++------ .../main/java/com/gh/gamecenter/info/InfoAdapter.java | 7 ++++--- .../java/com/gh/gamecenter/info/OriginalAdapter.java | 7 ++++--- .../gh/gamecenter/personalhome/PersonalHomeAdapter.kt | 3 ++- .../qa/answer/detail/AnswerDetailFragment.kt | 2 +- .../qa/article/detail/ArticleDetailActivity.kt | 3 ++- .../com/gh/gamecenter/qa/follow/AskFollowAdapter.kt | 3 ++- .../qa/questions/detail/QuestionsDetailAdapter.java | 3 ++- app/src/main/res/layout/personal_home_item.xml | 5 +++-- app/src/main/res/layout/rating_comment_item.xml | 4 ++-- 14 files changed, 41 insertions(+), 39 deletions(-) diff --git a/app/src/main/java/com/gh/common/util/CommentUtils.java b/app/src/main/java/com/gh/common/util/CommentUtils.java index 48b8e0e84e..59149e8026 100644 --- a/app/src/main/java/com/gh/common/util/CommentUtils.java +++ b/app/src/main/java/com/gh/common/util/CommentUtils.java @@ -458,7 +458,7 @@ public class CommentUtils { commentEntity.setVote(commentEntity.getVote() + 1); commentLikeCountTv.setTextColor(ContextCompat.getColor(context, R.color.theme)); commentLikeIv.setImageResource(R.drawable.vote_icon_select); - commentLikeCountTv.setText(String.valueOf(commentEntity.getVote())); + commentLikeCountTv.setText(NumberUtils.transSimpleCount(commentEntity.getVote())); commentLikeCountTv.setVisibility(View.VISIBLE); PostCommentUtils.addCommentVote(context, commentEntity.getId(), @@ -476,7 +476,7 @@ public class CommentUtils { commentEntity.setVote(commentEntity.getVote() - 1); commentLikeCountTv.setTextColor(ContextCompat.getColor(context, R.color.hint)); commentLikeIv.setImageResource(R.drawable.vote_icon_unselect); - commentLikeCountTv.setText(String.valueOf(commentEntity.getVote())); + commentLikeCountTv.setText(NumberUtils.transSimpleCount(commentEntity.getVote())); if (commentEntity.getVote() == 0) { commentLikeCountTv.setVisibility(View.GONE); } else { @@ -518,7 +518,7 @@ public class CommentUtils { commentEntity.setVote(commentEntity.getVote() + 1); commentLikeCountTv.setTextColor(ContextCompat.getColor(context, R.color.theme)); commentLikeIv.setImageResource(R.drawable.vote_icon_select); - commentLikeCountTv.setText(String.valueOf(commentEntity.getVote())); + commentLikeCountTv.setText(NumberUtils.transSimpleCount(commentEntity.getVote())); commentLikeCountTv.setVisibility(View.VISIBLE); PostCommentUtils.voteAnswerComment(context, answerId, articleId, articleCommunityId, commentEntity.getId(), @@ -536,7 +536,7 @@ public class CommentUtils { commentEntity.setVote(commentEntity.getVote() - 1); commentLikeCountTv.setTextColor(ContextCompat.getColor(context, R.color.hint)); commentLikeIv.setImageResource(R.drawable.vote_icon_unselect); - commentLikeCountTv.setText(String.valueOf(commentEntity.getVote())); + commentLikeCountTv.setText(NumberUtils.transSimpleCount(commentEntity.getVote())); if (commentEntity.getVote() == 0) { commentLikeCountTv.setVisibility(View.GONE); } else { diff --git a/app/src/main/java/com/gh/common/util/NumberUtils.kt b/app/src/main/java/com/gh/common/util/NumberUtils.kt index 2079e79492..aea5d4bbe8 100644 --- a/app/src/main/java/com/gh/common/util/NumberUtils.kt +++ b/app/src/main/java/com/gh/common/util/NumberUtils.kt @@ -1,18 +1,18 @@ package com.gh.common.util -import java.math.BigDecimal +import java.text.DecimalFormat object NumberUtils { @JvmStatic fun transSimpleCount(count: Int): String { val s: String - if (count > 10000) { + s = if (count > 100000) { val number = count / 10000f - val bd = BigDecimal(number.toDouble()) - s = bd.setScale(1, BigDecimal.ROUND_DOWN).toString() + "W" + val fmt = DecimalFormat("#") + fmt.format(number) + "万" } else { - s = count.toString() + count.toString() } return s } diff --git a/app/src/main/java/com/gh/gamecenter/adapter/MessageDetailAdapter.java b/app/src/main/java/com/gh/gamecenter/adapter/MessageDetailAdapter.java index b382b0dfd0..83abec03f5 100644 --- a/app/src/main/java/com/gh/gamecenter/adapter/MessageDetailAdapter.java +++ b/app/src/main/java/com/gh/gamecenter/adapter/MessageDetailAdapter.java @@ -20,6 +20,7 @@ import com.gh.common.util.DisplayUtils; import com.gh.common.util.EntranceUtils; import com.gh.common.util.ImageUtils; import com.gh.common.util.NewsUtils; +import com.gh.common.util.NumberUtils; import com.gh.common.util.StringUtils; import com.gh.common.util.TimestampUtils; import com.gh.gamecenter.NewsDetailActivity; @@ -247,14 +248,10 @@ public class MessageDetailAdapter extends BaseRecyclerAdapter { private void initNewsDigestViewHolder(final NewsDigestViewHolder viewHolder) { if (mConcernEntity.getViews() != 0) { - viewHolder.readNum.setText(String.valueOf(mConcernEntity.getViews())); + viewHolder.readNum.setText(NumberUtils.transSimpleCount(mConcernEntity.getViews())); } - if (mConcernEntity.getCommentnum() > 999) { - viewHolder.commentnum.setText(R.string.thousand); - } else { - viewHolder.commentnum.setText(String.valueOf(mConcernEntity.getCommentnum())); - } + viewHolder.commentnum.setText(NumberUtils.transSimpleCount(mConcernEntity.getCommentnum())); if (mConcernEntity.getBrief() != null) { viewHolder.content.setText(Html.fromHtml(mConcernEntity.getBrief())); diff --git a/app/src/main/java/com/gh/gamecenter/collection/ArticleAdapter.java b/app/src/main/java/com/gh/gamecenter/collection/ArticleAdapter.java index d42a3d04ac..4c92d66b73 100644 --- a/app/src/main/java/com/gh/gamecenter/collection/ArticleAdapter.java +++ b/app/src/main/java/com/gh/gamecenter/collection/ArticleAdapter.java @@ -16,6 +16,7 @@ import com.gh.common.constant.ItemViewType; import com.gh.common.util.DisplayUtils; import com.gh.common.util.ImageUtils; import com.gh.common.util.NewsUtils; +import com.gh.common.util.NumberUtils; import com.gh.gamecenter.R; import com.gh.gamecenter.adapter.viewholder.FooterViewHolder; import com.gh.gamecenter.adapter.viewholder.NewsImage1ViewHolder; @@ -145,7 +146,7 @@ public class ArticleAdapter extends ListAdapter { viewHolder.read.setVisibility(View.GONE); } else { viewHolder.read.setVisibility(View.VISIBLE); - viewHolder.read.setText(String.format(Locale.getDefault(), "阅读 %d", views)); + viewHolder.read.setText(String.format(Locale.getDefault(), "阅读 %s", NumberUtils.transSimpleCount(views))); } NewsUtils.setNewsType(viewHolder.type, newsEntity.getType(), newsEntity.getPriority(), position); } @@ -187,7 +188,7 @@ public class ArticleAdapter extends ListAdapter { viewHolder.read.setVisibility(View.GONE); } else { viewHolder.read.setVisibility(View.VISIBLE); - viewHolder.read.setText(String.format(Locale.getDefault(), "阅读 %d", views)); + viewHolder.read.setText(String.format(Locale.getDefault(), "阅读 %s", NumberUtils.transSimpleCount(views))); } NewsUtils.setNewsType(viewHolder.type, newsEntity.getType(), newsEntity.getPriority(), position); } @@ -211,7 +212,7 @@ public class ArticleAdapter extends ListAdapter { viewHolder.read.setVisibility(View.GONE); } else { viewHolder.read.setVisibility(View.VISIBLE); - viewHolder.read.setText(String.format(Locale.getDefault(), "阅读 %d", views)); + viewHolder.read.setText(String.format(Locale.getDefault(), "阅读 %s", NumberUtils.transSimpleCount(views))); } NewsUtils.setNewsType(viewHolder.type, newsEntity.getType(), newsEntity.getPriority(), position); } diff --git a/app/src/main/java/com/gh/gamecenter/info/ConcernAdapter.java b/app/src/main/java/com/gh/gamecenter/info/ConcernAdapter.java index bfa87bb8de..d55f073663 100644 --- a/app/src/main/java/com/gh/gamecenter/info/ConcernAdapter.java +++ b/app/src/main/java/com/gh/gamecenter/info/ConcernAdapter.java @@ -16,6 +16,7 @@ import com.gh.common.util.DisplayUtils; import com.gh.common.util.ImageUtils; import com.gh.common.util.LibaoUtils; import com.gh.common.util.NewsUtils; +import com.gh.common.util.NumberUtils; import com.gh.common.util.PlatformUtils; import com.gh.common.util.StringUtils; import com.gh.gamecenter.R; @@ -432,15 +433,11 @@ class ConcernAdapter extends BaseRecyclerAdapter { int views = concernEntity.getViews(); viewHolder.readIcon.setVisibility(View.VISIBLE); - viewHolder.readNum.setText(String.valueOf(views)); + viewHolder.readNum.setText(NumberUtils.transSimpleCount(views)); int commentnum = concernEntity.getCommentnum(); viewHolder.commentnum.setVisibility(View.VISIBLE); - if (commentnum > 999) { - viewHolder.commentnum.setText(R.string.thousand); - } else { - viewHolder.commentnum.setText(String.valueOf(commentnum)); - } + viewHolder.commentnum.setText(NumberUtils.transSimpleCount(commentnum)); } diff --git a/app/src/main/java/com/gh/gamecenter/info/InfoAdapter.java b/app/src/main/java/com/gh/gamecenter/info/InfoAdapter.java index f87e8726ba..21c63a18cb 100644 --- a/app/src/main/java/com/gh/gamecenter/info/InfoAdapter.java +++ b/app/src/main/java/com/gh/gamecenter/info/InfoAdapter.java @@ -13,6 +13,7 @@ import com.gh.common.constant.ItemViewType; import com.gh.common.util.DisplayUtils; import com.gh.common.util.ImageUtils; import com.gh.common.util.NewsUtils; +import com.gh.common.util.NumberUtils; import com.gh.gamecenter.R; import com.gh.gamecenter.adapter.viewholder.FooterViewHolder; import com.gh.gamecenter.adapter.viewholder.NewsImage1ViewHolder; @@ -107,7 +108,7 @@ class InfoAdapter extends ListAdapter { viewHolder.read.setVisibility(View.GONE); } else { viewHolder.read.setVisibility(View.VISIBLE); - viewHolder.read.setText(String.format(Locale.getDefault(), "阅读 %d", views)); + viewHolder.read.setText(String.format(Locale.getDefault(), "阅读 %s", NumberUtils.transSimpleCount(views))); } NewsUtils.setNewsType(viewHolder.type, newsEntity.getType(), newsEntity.getPriority(), position); } @@ -141,7 +142,7 @@ class InfoAdapter extends ListAdapter { viewHolder.read.setVisibility(View.GONE); } else { viewHolder.read.setVisibility(View.VISIBLE); - viewHolder.read.setText(String.format(Locale.getDefault(), "阅读 %d", views)); + viewHolder.read.setText(String.format(Locale.getDefault(), "阅读 %s", NumberUtils.transSimpleCount(views))); } NewsUtils.setNewsType(viewHolder.type, newsEntity.getType(), newsEntity.getPriority(), position); } @@ -158,7 +159,7 @@ class InfoAdapter extends ListAdapter { viewHolder.read.setVisibility(View.GONE); } else { viewHolder.read.setVisibility(View.VISIBLE); - viewHolder.read.setText(String.format(Locale.getDefault(), "阅读 %d", views)); + viewHolder.read.setText(String.format(Locale.getDefault(), "阅读 %s", NumberUtils.transSimpleCount(views))); } NewsUtils.setNewsType(viewHolder.type, newsEntity.getType(), newsEntity.getPriority(), position); } diff --git a/app/src/main/java/com/gh/gamecenter/info/OriginalAdapter.java b/app/src/main/java/com/gh/gamecenter/info/OriginalAdapter.java index aee8f5a00d..3ed4c76fc5 100644 --- a/app/src/main/java/com/gh/gamecenter/info/OriginalAdapter.java +++ b/app/src/main/java/com/gh/gamecenter/info/OriginalAdapter.java @@ -11,6 +11,7 @@ import com.gh.common.constant.ItemViewType; import com.gh.common.util.DisplayUtils; import com.gh.common.util.ImageUtils; import com.gh.common.util.NewsUtils; +import com.gh.common.util.NumberUtils; import com.gh.gamecenter.R; import com.gh.gamecenter.adapter.viewholder.FooterViewHolder; import com.gh.gamecenter.adapter.viewholder.NewsImage1ViewHolder; @@ -102,7 +103,7 @@ class OriginalAdapter extends ListAdapter { viewHolder.read.setVisibility(View.GONE); } else { viewHolder.read.setVisibility(View.VISIBLE); - viewHolder.read.setText(String.format(Locale.getDefault(), "阅读 %d", views)); + viewHolder.read.setText(String.format(Locale.getDefault(), "阅读 %s", NumberUtils.transSimpleCount(views))); } NewsUtils.setNewsType(viewHolder.type, newsEntity.getType(), newsEntity.getPriority(), position); } @@ -121,7 +122,7 @@ class OriginalAdapter extends ListAdapter { viewHolder.read.setVisibility(View.GONE); } else { viewHolder.read.setVisibility(View.VISIBLE); - viewHolder.read.setText(String.format(Locale.getDefault(), "阅读 %d", views)); + viewHolder.read.setText(String.format(Locale.getDefault(), "阅读 %s", NumberUtils.transSimpleCount(views))); } NewsUtils.setNewsType(viewHolder.type, newsEntity.getType(), newsEntity.getPriority(), position); } @@ -138,7 +139,7 @@ class OriginalAdapter extends ListAdapter { viewHolder.read.setVisibility(View.GONE); } else { viewHolder.read.setVisibility(View.VISIBLE); - viewHolder.read.setText(String.format(Locale.getDefault(), "阅读 %d", views)); + viewHolder.read.setText(String.format(Locale.getDefault(), "阅读 %s", NumberUtils.transSimpleCount(views))); } NewsUtils.setNewsType(viewHolder.type, newsEntity.getType(), newsEntity.getPriority(), position); } diff --git a/app/src/main/java/com/gh/gamecenter/personalhome/PersonalHomeAdapter.kt b/app/src/main/java/com/gh/gamecenter/personalhome/PersonalHomeAdapter.kt index c9c7489750..2db2420307 100644 --- a/app/src/main/java/com/gh/gamecenter/personalhome/PersonalHomeAdapter.kt +++ b/app/src/main/java/com/gh/gamecenter/personalhome/PersonalHomeAdapter.kt @@ -10,6 +10,7 @@ import android.widget.TextView import com.gh.common.constant.ItemViewType import com.gh.common.util.DialogUtils import com.gh.common.util.NewsUtils +import com.gh.common.util.NumberUtils import com.gh.common.util.ifLogin import com.gh.gamecenter.R import com.gh.gamecenter.UserInfoActivity @@ -141,7 +142,7 @@ class PersonalHomeAdapter(context: Context, mContext.startActivity(MyArticleActivity.getIntent(mContext, mListViewModel.userId, "$mEntrance+(个人主页)")) } userVoteContainer.setOnClickListener { - Utils.toast(mContext, "共获得 " + entity?.count?.vote + " 赞同") + Utils.toast(mContext, "共获得 " + NumberUtils.transSimpleCount(entity?.count?.vote!!) + " 赞同") } userConcernOrEdit.setOnClickListener { mContext.ifLogin("个人主页-关注-[关注]") { diff --git a/app/src/main/java/com/gh/gamecenter/qa/answer/detail/AnswerDetailFragment.kt b/app/src/main/java/com/gh/gamecenter/qa/answer/detail/AnswerDetailFragment.kt index b690aa6d93..23fd4d59e2 100644 --- a/app/src/main/java/com/gh/gamecenter/qa/answer/detail/AnswerDetailFragment.kt +++ b/app/src/main/java/com/gh/gamecenter/qa/answer/detail/AnswerDetailFragment.kt @@ -865,7 +865,7 @@ class AnswerDetailFragment : NormalFragment() { mTime.text = String.format("编辑于 %s", NewsUtils.getFormattedTime(mDetailEntity!!.updateTime)) } - mAnswerCommentCountTv.text = String.format("%d 评论", mDetailEntity!!.commentCount) + mAnswerCommentCountTv.text = String.format("%d 评论", NumberUtils.transSimpleCount(mDetailEntity!!.commentCount)) mNoConn.visibility = View.GONE mLoading.visibility = View.GONE diff --git a/app/src/main/java/com/gh/gamecenter/qa/article/detail/ArticleDetailActivity.kt b/app/src/main/java/com/gh/gamecenter/qa/article/detail/ArticleDetailActivity.kt index 2e993ad339..d71f585296 100644 --- a/app/src/main/java/com/gh/gamecenter/qa/article/detail/ArticleDetailActivity.kt +++ b/app/src/main/java/com/gh/gamecenter/qa/article/detail/ArticleDetailActivity.kt @@ -483,7 +483,8 @@ class ArticleDetailActivity : BaseActivity() { mBinding.detail = mViewModel.detailEntity mBinding.articleDetailRd.setHtml(mViewModel.detailEntity?.content, true) - mBinding.articleDetailCommentCountTv.text = String.format("%d 评论", mViewModel.detailEntity?.count?.comment) + mBinding.articleDetailCommentCountTv.text = String.format("%d 评论", + NumberUtils.transSimpleCount(mViewModel.detailEntity?.count?.comment!!)) // 没点赞过,作者不是自己,正文长度不少于20个字。 开启停留一定时长(字数/10 + 5)秒)后的动画 if (!mViewModel.detailEntity!!.me.isAnswerOwn diff --git a/app/src/main/java/com/gh/gamecenter/qa/follow/AskFollowAdapter.kt b/app/src/main/java/com/gh/gamecenter/qa/follow/AskFollowAdapter.kt index e571ac2a4b..28f9d41507 100644 --- a/app/src/main/java/com/gh/gamecenter/qa/follow/AskFollowAdapter.kt +++ b/app/src/main/java/com/gh/gamecenter/qa/follow/AskFollowAdapter.kt @@ -7,6 +7,7 @@ import android.view.View import android.view.ViewGroup import com.gh.common.constant.ItemViewType import com.gh.common.util.NewsUtils +import com.gh.common.util.NumberUtils import com.gh.gamecenter.PersonalHomeActivity import com.gh.gamecenter.R import com.gh.gamecenter.adapter.viewholder.FooterViewHolder @@ -59,7 +60,7 @@ class AskFollowAdapter(val context: Context, val viewModel: AskFollowViewModel) if (historyEntity.foldUsers != null && (historyEntity.type == "answer_vote" || historyEntity.type == "community_article_vote")) { - val highlightedString = " 等${historyEntity.foldUsers!!.size}人" + val highlightedString = " 等${NumberUtils.transSimpleCount(historyEntity.foldUsers!!.size)}人" val type = if ("community_article_vote" == historyEntity.type) { "文章" } else { diff --git a/app/src/main/java/com/gh/gamecenter/qa/questions/detail/QuestionsDetailAdapter.java b/app/src/main/java/com/gh/gamecenter/qa/questions/detail/QuestionsDetailAdapter.java index 92a63e5f40..8f4fecbc13 100644 --- a/app/src/main/java/com/gh/gamecenter/qa/questions/detail/QuestionsDetailAdapter.java +++ b/app/src/main/java/com/gh/gamecenter/qa/questions/detail/QuestionsDetailAdapter.java @@ -251,7 +251,8 @@ public class QuestionsDetailAdapter extends ListAdapter { "关联问题")); }); holder.mRelatedQuestionTitle.setText(mQuestionsDetailEntity.getRelatedQuestion().getTitle()); - holder.mRelatedQuestionAnswerCount.setText(mQuestionsDetailEntity.getRelatedQuestion().getAnswerCount() + "回答"); + holder.mRelatedQuestionAnswerCount.setText( + (NumberUtils.transSimpleCount(mQuestionsDetailEntity.getRelatedQuestion().getAnswerCount()) + "回答")); } else { holder.mRelatedQuestionContainer.setVisibility(View.GONE); } diff --git a/app/src/main/res/layout/personal_home_item.xml b/app/src/main/res/layout/personal_home_item.xml index 3118cb1d83..4ce5915d39 100644 --- a/app/src/main/res/layout/personal_home_item.xml +++ b/app/src/main/res/layout/personal_home_item.xml @@ -8,6 +8,7 @@ + - +