Files
assistant-android/app/src/main/java/com/gh/gamecenter/adapter/MessageDetailAdapter.java

667 lines
28 KiB
Java
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

package com.gh.gamecenter.adapter;
import android.app.Activity;
import android.content.Intent;
import android.text.Html;
import android.text.TextUtils;
import android.view.View;
import android.view.ViewGroup;
import androidx.core.content.ContextCompat;
import androidx.recyclerview.widget.RecyclerView;
import androidx.recyclerview.widget.RecyclerView.ViewHolder;
import com.gh.common.constant.Config;
import com.gh.common.util.CheckLoginUtils;
import com.gh.common.util.CommentUtils;
import com.gh.common.util.ConcernContentUtils;
import com.gh.common.util.DataCollectionUtils;
import com.gh.common.util.DialogUtils;
import com.gh.common.util.DirectUtils;
import com.gh.common.util.NewsUtils;
import com.gh.gamecenter.R;
import com.gh.gamecenter.ShareCardActivity;
import com.gh.gamecenter.ShareCardPicActivity;
import com.gh.gamecenter.WebActivity;
import com.gh.gamecenter.adapter.viewholder.CommentHeadViewHolder;
import com.gh.gamecenter.adapter.viewholder.CommentViewHolder;
import com.gh.gamecenter.common.constant.EntranceConsts;
import com.gh.gamecenter.common.retrofit.JSONObjectResponse;
import com.gh.gamecenter.common.retrofit.OkHttpCache;
import com.gh.gamecenter.common.retrofit.Response;
import com.gh.gamecenter.common.utils.ExtensionsKt;
import com.gh.gamecenter.common.utils.ImageUtils;
import com.gh.gamecenter.common.utils.TextHelper;
import com.gh.gamecenter.common.utils.TimestampUtils;
import com.gh.gamecenter.common.viewholder.FooterViewHolder;
import com.gh.gamecenter.core.utils.DisplayUtils;
import com.gh.gamecenter.core.utils.MtaHelper;
import com.gh.gamecenter.core.utils.NumberUtils;
import com.gh.gamecenter.core.utils.StringUtils;
import com.gh.gamecenter.databinding.CommentHeadItemBinding;
import com.gh.gamecenter.feature.databinding.NewsDigestItemBinding;
import com.gh.gamecenter.feature.entity.ArticleCommentParent;
import com.gh.gamecenter.feature.entity.CommentEntity;
import com.gh.gamecenter.feature.entity.ConcernEntity;
import com.gh.gamecenter.feature.eventbus.EBDeleteComment;
import com.gh.gamecenter.feature.viewholder.NewsDigestViewHolder;
import com.gh.gamecenter.manager.VisitManager;
import com.gh.gamecenter.newsdetail.NewsDetailActivity;
import com.gh.gamecenter.retrofit.RetrofitManager;
import com.lightgame.adapter.BaseRecyclerAdapter;
import com.lightgame.utils.Utils;
import org.greenrobot.eventbus.EventBus;
import org.json.JSONArray;
import org.json.JSONException;
import org.json.JSONObject;
import java.util.ArrayList;
import java.util.List;
import java.util.Objects;
import java.util.Timer;
import java.util.TimerTask;
import java.util.concurrent.atomic.AtomicBoolean;
import io.reactivex.android.schedulers.AndroidSchedulers;
import io.reactivex.schedulers.Schedulers;
import retrofit2.HttpException;
/**
* Created by khy on 2016/11/8.
* 消息详情-数据适配器
*/
public class MessageDetailAdapter extends BaseRecyclerAdapter<ViewHolder> {
private static final int ITEM_TOP = 100;
private static final int ITEM_TITLE = 101;
private static final int ITEM_COMMENT = 102;
private static final int ITEM_FOOTER = 103;
private ConcernEntity mConcernEntity;
private OnCommentCallBackListener mOnCommentCallBackListener;
private RecyclerView mRecyclerView;
private List<CommentEntity> mHotCommentList;
private List<CommentEntity> mNormalCommentList;
private String mEntrance;
private boolean isOver;
private boolean isLoading;
private boolean isNetworkError;
private boolean isRefreshPosition;
private int mPage;
public MessageDetailAdapter(Activity context, OnCommentCallBackListener listener,
RecyclerView messageDetailRv, ConcernEntity concernEntity, String entrance) {
super(context);
mRecyclerView = messageDetailRv;
mEntrance = entrance;
mOnCommentCallBackListener = listener;
isOver = false;
isLoading = false;
isNetworkError = false;
isRefreshPosition = true;
mPage = 1;
mHotCommentList = new ArrayList<>();
mNormalCommentList = new ArrayList<>();
mConcernEntity = concernEntity;
if (mConcernEntity != null && mConcernEntity.getCommentnum() != 0) {
addHotComment();
} else if (mConcernEntity != null) {
isOver = true;
notifyItemChanged(getItemCount() - 1);
if (mOnCommentCallBackListener != null) {
mOnCommentCallBackListener.onCommentCallback(null);
}
}
}
public void addHotComment() {
RetrofitManager.getInstance().getApi().getHotComment(mConcernEntity.getId(), 10, 1)
.subscribeOn(Schedulers.io())
.observeOn(AndroidSchedulers.mainThread())
.subscribe(new Response<List<CommentEntity>>() {
@Override
public void onResponse(List<CommentEntity> response) {
if (response.size() != 0) {
mHotCommentList.clear();
mHotCommentList.addAll(response);
notifyDataSetChanged();
}
addNormalComment(true); // 考虑到断网刷新问题
}
@Override
public void onFailure(HttpException e) {
addNormalComment(true);
}
});
}
public void addNormalComment() {
addNormalComment(false);
}
public void addNormalComment(boolean isRefresh) {
if (isLoading) {
return;
}
if (isRefresh) {
isOver = false;
mNormalCommentList.clear();
mPage = 1;
}
isLoading = true;
RetrofitManager.getInstance().getApi().getComment(mConcernEntity.getId(), 10, mPage, Utils.getTime(mContext))
.subscribeOn(Schedulers.io())
.observeOn(AndroidSchedulers.mainThread())
.subscribe(new Response<List<CommentEntity>>() {
@Override
public void onResponse(List<CommentEntity> response) {
if (response.size() < 10) {
isOver = true;
}
if (response.size() != 0) {
mNormalCommentList.addAll(response);
}
notifyDataSetChanged();
mPage++;
isLoading = false;
}
@Override
public void onFailure(HttpException e) {
isLoading = false;
isNetworkError = true;
notifyDataSetChanged();
}
});
}
@Override
public RecyclerView.ViewHolder onCreateViewHolder(ViewGroup parent, int viewType) {
View view;
switch (viewType) {
case ITEM_TOP:
return new NewsDigestViewHolder(NewsDigestItemBinding.inflate(mLayoutInflater, parent, false));
case ITEM_TITLE:
return new CommentHeadViewHolder(CommentHeadItemBinding.inflate(mLayoutInflater, parent, false));
case ITEM_COMMENT:
view = mLayoutInflater.inflate(R.layout.comment_item, parent, false);
return new CommentViewHolder(view);
case ITEM_FOOTER:
view = mLayoutInflater.inflate(R.layout.refresh_footerview, parent, false);
return new FooterViewHolder(view);
default:
return null;
}
}
@Override
public void onBindViewHolder(RecyclerView.ViewHolder holder, int position) {
if (holder instanceof NewsDigestViewHolder) {
initNewsDigestViewHolder((NewsDigestViewHolder) holder);
} else if (holder instanceof CommentViewHolder) {
initCommentViewHolder((CommentViewHolder) holder, position);
} else if (holder instanceof FooterViewHolder) {
initFooterViewHolder((FooterViewHolder) holder);
} else if (holder instanceof CommentHeadViewHolder) {
((CommentHeadViewHolder) holder).binding.getRoot().setBackgroundColor(ContextCompat.getColor(mContext, R.color.ui_surface));
((CommentHeadViewHolder) holder).binding.commentHeadTitle.setTextColor(ContextCompat.getColor(mContext, R.color.text_3a3a3a));
if (mHotCommentList.size() != 0 && position == 1) {
((CommentHeadViewHolder) holder).binding.commentHeadTitle.setText(R.string.comment_hot);
} else {
((CommentHeadViewHolder) holder).binding.commentHeadTitle.setText(R.string.comment_new);
}
}
}
@Override
public int getItemViewType(int position) {
int index;
if (mHotCommentList.size() == 0) {
index = 1;
} else {
index = 2;
}
if (position == 0 && mConcernEntity != null) {
return ITEM_TOP;
} else if (mHotCommentList.size() != 0 && position == 1 ||
mNormalCommentList.size() != 0 && mHotCommentList.size() + index == position) {
return ITEM_TITLE;
} else if (getItemCount() == position + 1) {
return ITEM_FOOTER;
}
return ITEM_COMMENT;
}
@Override
public int getItemCount() {
int itemCount = 0;
if (mHotCommentList.size() != 0) {
itemCount = itemCount + mHotCommentList.size() + 1;
}
if (mNormalCommentList.size() != 0) {
itemCount = itemCount + mNormalCommentList.size() + 1;
}
if (mConcernEntity != null) {
itemCount = itemCount + 1;
}
return itemCount + 1;
}
private void initNewsDigestViewHolder(final NewsDigestViewHolder viewHolder) {
viewHolder.binding.getRoot().setBackground(ContextCompat.getDrawable(mContext, R.drawable.reuse_listview_item_style));
viewHolder.binding.newsDigestTitle.setTextColor(ContextCompat.getColor(mContext, R.color.text_black));
viewHolder.binding.newsDigestContent.setTextColor(ContextCompat.getColor(mContext, R.color.text_3a3a3a));
viewHolder.binding.newsDigestCommentnum.setTextColor(ContextCompat.getColor(mContext, R.color.text_tertiary));
viewHolder.binding.newsDigestReadNum.setTextColor(ContextCompat.getColor(mContext, R.color.text_tertiary));
if (mConcernEntity.getViews() != 0) {
viewHolder.binding.newsDigestReadNum.setText(NumberUtils.transSimpleCount(mConcernEntity.getViews()));
}
viewHolder.binding.newsDigestCommentnum.setText(NumberUtils.transSimpleCount(mConcernEntity.getCommentnum()));
if (mConcernEntity.getBrief() != null) {
viewHolder.binding.newsDigestContent.setText(Html.fromHtml(mConcernEntity.getBrief()));
viewHolder.binding.newsDigestContent.setMaxLines(100);
} else {
viewHolder.binding.newsDigestContent.setText(Html.fromHtml(mConcernEntity.getContent()));
viewHolder.binding.newsDigestContent.setMaxLines(5);
}
if (mConcernEntity.getImg().size() == 0) {
viewHolder.binding.newsDigestLlImg.setVisibility(View.GONE);
viewHolder.binding.newsDigestLlImg.removeAllViews();
} else {
viewHolder.binding.newsDigestLlImg.setVisibility(View.VISIBLE);
viewHolder.binding.newsDigestLlImg.removeAllViews();
ConcernContentUtils.addContentPic(mContext, viewHolder.binding.newsDigestLlImg, mConcernEntity.getImg(),
StringUtils.buildString(mEntrance, "+(消息详情)"),
mContext.getResources().getDisplayMetrics().widthPixels - DisplayUtils.dip2px(mContext, 34));
}
if (mConcernEntity.getGame() != null) {
viewHolder.binding.newsDigestThumb.displayGameIcon(mConcernEntity.getGame().getIcon(), mConcernEntity.getGame().getIconSubscript(), mConcernEntity.getGame().getIconFloat());
} else {
viewHolder.binding.newsDigestThumb.displayGameIcon(mConcernEntity.getGameIcon(), null, null);
}
viewHolder.binding.newsDigestTitle.setText(mConcernEntity.getGameName());
NewsUtils.setNewsPublishOn(viewHolder.binding.newsDigestTime, mConcernEntity.getTime());
viewHolder.binding.newsDigestShare.setOnClickListener(v -> {
if (mConcernEntity.getImg() != null && mConcernEntity.getImg().size() > 0) {
ShareCardPicActivity.startShareCardPicActivity(mContext, mConcernEntity, mEntrance);
} else {
String shareContent;
if (mConcernEntity.getBrief() != null) {
shareContent = mConcernEntity.getBrief();
} else {
shareContent = mConcernEntity.getContent();
}
mContext.startActivity(ShareCardActivity.getIntent(mContext, mConcernEntity, shareContent));
}
});
viewHolder.binding.getRoot().setOnClickListener(v -> {
DataCollectionUtils.uploadClick(mContext, "详情", "消息详情", mConcernEntity.getTitle());
// 统计阅读量
statNewsViews(mConcernEntity.getId());
if (mConcernEntity.getLink() != null) {
mContext.startActivity(WebActivity.getIntentByNews(mContext, mConcernEntity
, StringUtils.buildString(mEntrance, "+(消息详情)")));
} else {
Intent intent = new Intent(mContext, NewsDetailActivity.class);
intent.putExtra(EntranceConsts.KEY_NEWSID, mConcernEntity.getId());
intent.putExtra(EntranceConsts.KEY_ENTRANCE, StringUtils.buildString(mEntrance, "+(消息详情)"));
mContext.startActivity(intent);
}
});
viewHolder.binding.newsDigestComment.setOnClickListener(v -> {
if (mOnCommentCallBackListener != null) {
mOnCommentCallBackListener.onCommentCallback(null);
}
});
viewHolder.binding.getRoot().post(() -> {
if (isRefreshPosition) {
Timer timer = new Timer(); // 延迟半秒,防止出现闪屏现象
timer.schedule(new TimerTask() {
@Override
public void run() {
mRecyclerView.smoothScrollBy(0, viewHolder.binding.getRoot().getHeight()); //定位到评论顶部
}
}, 300);
isRefreshPosition = false;
}
});
}
private void initCommentViewHolder(final CommentViewHolder holder, int position) {
holder.itemView.setBackground(ContextCompat.getDrawable(mContext, R.drawable.reuse_listview_item_style));
holder.commentContentTv.setTextColor(ContextCompat.getColor(mContext, R.color.text_primary));
holder.commentTimeTv.setTextColor(ContextCompat.getColor(mContext, R.color.text_tertiary));
holder.commentReply.setTextColor(ContextCompat.getColor(mContext, R.color.text_primary));
holder.commentUserNameTv.setTextColor(ContextCompat.getColor(mContext, R.color.text_secondary));
holder.badgeNameTv.setTextColor(ContextCompat.getColor(mContext, R.color.text_tertiary));
holder.quoteAuthorTv.setTextColor(ContextCompat.getColor(mContext, R.color.text_secondary));
holder.commentLikeIv.setImageResource(R.drawable.comment_vote_unselect);
holder.quoteContainer.setBackground(ContextCompat.getDrawable(mContext, R.drawable.community_comment_reply_background));
AtomicBoolean isChildLongClick = new AtomicBoolean(false);
int index;
if (mHotCommentList.size() == 0) {
index = 2;
} else {
index = 3;
}
int commentPosition = 0;//
boolean isHotComment = false; //区分热门评论和最新评论 - 修改缓存链接
CommentEntity commentEntity = null;
// 初始化数据
if (mHotCommentList.size() != 0 && mHotCommentList.size() > position - 2) {
commentEntity = mHotCommentList.get(position - 2);
isHotComment = true;
} else if (mNormalCommentList.size() != 0 &&
mNormalCommentList.size() > position - mHotCommentList.size() - index) {
commentPosition = position - mHotCommentList.size() - index;
commentEntity = mNormalCommentList.get(position - mHotCommentList.size() - index);
isHotComment = false;
}
if (commentEntity == null) {
return;
}
TextHelper.highlightTextThatIsWrappedInsideWrapperByDefault(holder.commentContentTv, commentEntity.getContent());
ArticleCommentParent parent = commentEntity.getParent();
if (parent != null && !TextUtils.isEmpty(parent.getUser().getName())) {
holder.quoteContainer.setVisibility(View.VISIBLE);
holder.quoteAuthorTv.setText(String.format("@%s", parent.getUser().getName()));
if (parent.getUser().getBadge() != null) {
holder.quoteAuthorBadgeSdv.setVisibility(View.VISIBLE);
ImageUtils.display(holder.quoteAuthorBadgeSdv, parent.getUser().getBadge().getIcon());
} else {
holder.quoteAuthorBadgeSdv.setVisibility(View.GONE);
}
String content;
if (parent.getActive()) {
content = parent.getComment();
holder.quoteContentTv.setTextColor(mContext.getResources().getColor(R.color.text_5d5d5d));
} else {
content = mContext.getString(R.string.comment_hide_hint);
holder.quoteContentTv.setTextColor(mContext.getResources().getColor(R.color.text_d5d5d5));
}
TextHelper.highlightTextThatIsWrappedInsideWrapperByDefault(holder.quoteContentTv, content);
} else {
holder.quoteContainer.setVisibility(View.GONE);
}
CommentUtils.setCommentUserView(mContext, holder, commentEntity);
CommentUtils.setCommentTime(holder.commentTimeTv, commentEntity.getTime());
if (commentEntity.getSource() != null && !commentEntity.getSource().getRegion().isEmpty()) {
holder.commentTimeTv.setText(holder.commentTimeTv.getText() + " · " + commentEntity.getSource().getRegion());
}
final CommentEntity finalCommentEntity = commentEntity;
final boolean finalIsHotComment = isHotComment;
final int finalCommentPosition = commentPosition;
holder.commentLikeContainer.setOnClickListener(v ->
CheckLoginUtils.checkLogin(mContext, "资讯文章详情-评论详情-点赞",
() -> CommentUtils.postVote(mContext, finalCommentEntity, holder.commentLikeCountTv,
holder.commentLikeIv, () -> {
int index1 = (finalCommentPosition / 10); // todo index1 有可能不等于 page
//获取需要修改缓存的链接
String cacheUrl;
if (finalIsHotComment) {
cacheUrl = StringUtils.buildString(Config.API_HOST, "article/", mConcernEntity.getId(),
"/comments?filter=order:hot&page_size=10", "&page=1"); // 热门评论固定链接
} else {
cacheUrl = StringUtils.buildString(Config.API_HOST, "article/", mConcernEntity.getId(),
"/comments?page_size=10&page=", String.valueOf(index1));
}
modifyVolleyCache(finalCommentEntity.getId(), cacheUrl); //修改缓存
})
));
holder.itemView.setOnClickListener(v -> {
if (isChildLongClick.get()) {
isChildLongClick.set(false);
return;
}
if (holder.commentReply.getVisibility() == View.VISIBLE) {
CheckLoginUtils.checkLogin(mContext, "资讯文章详情-评论详情-回复", () -> {
mOnCommentCallBackListener.onCommentCallback(finalCommentEntity);
});
}
});
holder.commentContentTv.setOnLongClickListener(v -> {
isChildLongClick.set(true);
ExtensionsKt.copyTextAndToast(holder.commentContentTv.getText().toString(), "复制成功");
return true;
});
holder.quoteContentTv.setOnLongClickListener(v -> {
isChildLongClick.set(true);
ExtensionsKt.copyTextAndToast(holder.quoteContentTv.getText().toString(), "复制成功");
return true;
});
holder.commentMore.setOnClickListener(v ->
CommentUtils.showMorePopupWindow(
holder.commentMore,
finalCommentEntity,
true,
"资讯文章详情-评论详情",
() -> EventBus.getDefault().post(new EBDeleteComment(finalCommentEntity))
)
);
holder.commentUserNameTv.setOnClickListener(v -> DirectUtils.directToHomeActivity(mContext, finalCommentEntity.getUser().getId(), mEntrance, "文章-评论详情"));
holder.commentUserIconDv.setOnClickListener(v -> DirectUtils.directToHomeActivity(mContext, finalCommentEntity.getUser().getId(), mEntrance, "文章-评论详情"));
holder.userBadgeSdv.setOnClickListener(v -> {
DialogUtils.showViewBadgeDialog(mContext, finalCommentEntity.getUser().getBadge(),
() -> {
MtaHelper.onEvent("进入徽章墙_用户记录", "资讯文章-评论列表", finalCommentEntity.getUser().getName() + "" + finalCommentEntity.getUser().getId() + "");
MtaHelper.onEvent("徽章中心", "进入徽章中心", "资讯文章-评论列表");
DirectUtils.directToBadgeWall(mContext, finalCommentEntity.getUser().getId(), finalCommentEntity.getUser().getName(), finalCommentEntity.getUser().getIcon());
});
});
holder.badgeNameTv.setOnClickListener(v -> holder.userBadgeSdv.performClick());
holder.quoteAuthorBadgeSdv.setOnClickListener(v -> {
DialogUtils.showViewBadgeDialog(mContext, parent.getUser().getBadge(),
() -> {
MtaHelper.onEvent("进入徽章墙_用户记录", "资讯文章-评论列表", parent.getUser().getName() + "" + parent.getUser().getId() + "");
MtaHelper.onEvent("徽章中心", "进入徽章中心", "资讯文章-评论列表");
DirectUtils.directToBadgeWall(mContext, parent.getUser().getId(), parent.getUser().getName(), parent.getUser().getIcon());
});
});
if (commentEntity.getPriority() != 0) {
holder.commentBadge.setVisibility(View.VISIBLE);
} else {
holder.commentBadge.setVisibility(View.GONE);
}
}
private void initFooterViewHolder(final FooterViewHolder viewHolder) {
if (isNetworkError) {
viewHolder.getLoading().setVisibility(View.GONE);
viewHolder.getHint().setText(R.string.loading_error_network);
} else if (!isOver) {
viewHolder.getHint().setText(R.string.loading);
viewHolder.getLoading().setVisibility(View.VISIBLE);
} else if (mNormalCommentList.size() == 0 && mHotCommentList.size() == 0) {
viewHolder.getLoading().setVisibility(View.GONE);
viewHolder.getHint().setText(R.string.comment_empty);
} else {
viewHolder.getHint().setText(R.string.comment_nomore);
viewHolder.getLoading().setVisibility(View.GONE);
}
viewHolder.itemView.setOnClickListener(v -> {
if (isNetworkError) {
isNetworkError = false;
viewHolder.getLoading().setVisibility(View.VISIBLE);
viewHolder.getHint().setText(R.string.loading);
addHotComment();
notifyDataSetChanged();
}
});
}
public void notifyCommentRemoved(final CommentEntity entity) {
if (mHotCommentList.size() > 0) {
int positionInHotComments = getCommentIndexByEntity(mHotCommentList, entity);
if (positionInHotComments != -1) {// 如果在热门评论中存在要被删除的评论,则将此评论移除
mHotCommentList.remove(positionInHotComments);
}
}
if (mNormalCommentList.size() > 0) {
int positionInNormalComments = getCommentIndexByEntity(mNormalCommentList, entity);
if (positionInNormalComments != -1) {// 如果在热门评论中存在要被删除的评论,则将此评论移除
mNormalCommentList.remove(positionInNormalComments);
}
}
if (mConcernEntity != null) {
int commentNum = mConcernEntity.getCommentnum();
mConcernEntity.setCommentnum(commentNum - 1);
}
notifyDataSetChanged();
}
private static int getCommentIndexByEntity(
final List<CommentEntity> commentList,
final CommentEntity comment
) {
for (int i = 0; i < commentList.size();i++) {
if (Objects.equals(comment.getId(), commentList.get(i).getId())) {
return i;
}
}
return -1;
}
private void statNewsViews(final String news_id) {
RetrofitManager.getInstance().getApi().postArticleVisit(news_id)
.subscribeOn(Schedulers.io())
.observeOn(AndroidSchedulers.mainThread())
.subscribe(new JSONObjectResponse() {
@Override
public void onResponse(JSONObject response) {
if (response.length() != 0) {
try {
if ("success".equals(response.getString("status"))) {
mConcernEntity.setViews(mConcernEntity.getViews() + 1);
notifyItemChanged(0);
// 更新okhttp缓存数据
VisitManager.updateOkhttpCache(mContext, mConcernEntity.getId());
}
} catch (JSONException e) {
e.printStackTrace();
}
}
}
});
}
private void modifyVolleyCache(String id, String url) {
if (url == null) {
return;
}
url = TimestampUtils.addTimestamp(url);
byte[] data = OkHttpCache.getCache(mContext, url);
if (data != null) {
try {
JSONArray jsonArray = new JSONArray(new String(data));
JSONObject jsonObject;
for (int i = 0, size = jsonArray.length(); i < size; i++) {
jsonObject = jsonArray.getJSONObject(i);
if (jsonObject.getString("_id").equals(id)) {
jsonObject.put("vote", jsonObject.getInt("vote") + 1);
break;
}
}
OkHttpCache.updateCache(mContext, url, jsonArray.toString().getBytes());
} catch (JSONException e) {
e.printStackTrace();
}
}
}
public ConcernEntity getConcernEntity() {
return mConcernEntity;
}
public boolean isLoading() {
return isLoading;
}
// 往位置0添加评论
public void addNormalComment(CommentEntity commentEntity) {
mNormalCommentList.add(findTheLastPriorComment(), commentEntity);
}
public void addCommentCount() {
mConcernEntity.setCommentnum(mConcernEntity.getCommentnum() + 1);
notifyDataSetChanged();
}
public int findTheLastPriorComment() {
int lastPriorityPosition = 0;
for (int i = 0; i < mNormalCommentList.size(); i++) {
if (mNormalCommentList.get(i).getPriority() != 0) {
lastPriorityPosition = i + 1;
}
}
return lastPriorityPosition;
}
public int getHotCommentListSize() {
int index = 0;
if (mHotCommentList.size() != 0) {
index = mHotCommentList.size() + 1;
}
return index;
}
public void addConcernEntity(ConcernEntity concernEntity) {
this.mConcernEntity = concernEntity;
}
public boolean isOver() {
return isOver;
}
}