This commit is contained in:
chenjuntao
2018-12-07 16:06:54 +08:00
parent b5bfbfaff6
commit 0feffda7f3
18 changed files with 240 additions and 234 deletions

View File

@ -12,6 +12,7 @@ import android.view.ViewGroup;
import android.widget.LinearLayout;
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;
@ -277,65 +278,53 @@ public class MessageDetailAdapter extends BaseRecyclerAdapter<ViewHolder> {
viewHolder.title.setText(mConcernEntity.getGameName());
NewsUtils.setNewsPublishOn(viewHolder.time, mConcernEntity.getTime());
viewHolder.share.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
if (mConcernEntity.getImg() != null && mConcernEntity.getImg().size() > 0) {
ShareCardPicActivity.startShareCardPicActivity(mContext, mConcernEntity, mEntrance);
viewHolder.share.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 {
String shareContent;
if (mConcernEntity.getBrief() != null) {
shareContent = mConcernEntity.getBrief();
} else {
shareContent = mConcernEntity.getContent();
shareContent = mConcernEntity.getContent();
}
mContext.startActivity(ShareCardActivity.getIntent(mContext, mConcernEntity, shareContent));
}
});
viewHolder.itemView.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(EntranceUtils.KEY_NEWSID, mConcernEntity.getId());
intent.putExtra(EntranceUtils.KEY_ENTRANCE, StringUtils.buildString(mEntrance, "+(消息详情)"));
mContext.startActivity(intent);
}
});
viewHolder.comment.setOnClickListener(v -> {
if (mOnCommentCallBackListener != null) {
mOnCommentCallBackListener.onCommentCallback(null);
}
});
viewHolder.itemView.post(() -> {
if (isRefreshPosition) {
Timer timer = new Timer(); // 延迟半秒,防止出现闪屏现象
timer.schedule(new TimerTask() {
@Override
public void run() {
mRecyclerView.smoothScrollBy(0, viewHolder.itemView.getHeight()); //定位到评论顶部
}
mContext.startActivity(ShareCardActivity.getIntent(mContext, mConcernEntity, shareContent));
}
}
});
viewHolder.itemView.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View 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(EntranceUtils.KEY_NEWSID, mConcernEntity.getId());
intent.putExtra(EntranceUtils.KEY_ENTRANCE, StringUtils.buildString(mEntrance, "+(消息详情)"));
mContext.startActivity(intent);
}
}
});
viewHolder.comment.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
if (mOnCommentCallBackListener != null) {
mOnCommentCallBackListener.onCommentCallback(null);
}
}
});
viewHolder.itemView.post(new Runnable() {
@Override
public void run() {
if (isRefreshPosition) {
Timer timer = new Timer(); // 延迟半秒,防止出现闪屏现象
timer.schedule(new TimerTask() {
@Override
public void run() {
mRecyclerView.smoothScrollBy(0, viewHolder.itemView.getHeight()); //定位到评论顶部
}
}, 300);
isRefreshPosition = false;
}
}, 300);
isRefreshPosition = false;
}
});
}
@ -386,38 +375,28 @@ public class MessageDetailAdapter extends BaseRecyclerAdapter<ViewHolder> {
final CommentEntity finalCommentEntity = commentEntity;
final boolean finalIsHotComment = isHotComment;
final int finalCommentPosition = commentPosition;
holder.commentLikeIv.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
CommentUtils.postVote(mContext, finalCommentEntity, holder.commentLikeCountTv,
holder.commentLikeIv, new CommentUtils.OnVoteListener() {
@Override
public void onVote() {
int index = (finalCommentPosition / 10) * 10;
holder.commentLikeIv.setOnClickListener(v ->
CheckLoginUtils.checkLogin(mContext,
() -> CommentUtils.postVote(mContext, finalCommentEntity, holder.commentLikeCountTv,
holder.commentLikeIv, () -> {
int index1 = (finalCommentPosition / 10) * 10;
//获取需要修改缓存的链接
String cacheUrl;
if (finalIsHotComment) {
cacheUrl = StringUtils.buildString(Config.COMMENT_HOST, "article/", mConcernEntity.getId(),
"/comment?order=hot&limit=10", "&offset=0"); // 热门评论固定链接
} else {
cacheUrl = StringUtils.buildString(Config.COMMENT_HOST, "article/", mConcernEntity.getId(),
"/comment?limit=10&offset=", String.valueOf(index));
}
//获取需要修改缓存的链接
String cacheUrl;
if (finalIsHotComment) {
cacheUrl = StringUtils.buildString(Config.COMMENT_HOST, "article/", mConcernEntity.getId(),
"/comment?order=hot&limit=10", "&offset=0"); // 热门评论固定链接
} else {
cacheUrl = StringUtils.buildString(Config.COMMENT_HOST, "article/", mConcernEntity.getId(),
"/comment?limit=10&offset=", String.valueOf(index1));
}
modifyVolleyCache(finalCommentEntity.getId(), cacheUrl); //修改缓存
}
});
modifyVolleyCache(finalCommentEntity.getId(), cacheUrl); //修改缓存
})
));
}
});
holder.itemView.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
CommentUtils.showReportDialog(finalCommentEntity, mContext, true, mOnCommentCallBackListener, null);
}
});
holder.itemView.setOnClickListener(v ->
CommentUtils.showReportDialog(finalCommentEntity, mContext, true, mOnCommentCallBackListener, null));
holder.commentUserNameTv.setOnClickListener(v -> PersonalHomeActivity.startTargetActivity(mContext, finalCommentEntity.getUser().getId(), mEntrance, "文章-评论详情"));
holder.commentUserIconDv.setOnClickListener(v -> PersonalHomeActivity.startTargetActivity(mContext, finalCommentEntity.getUser().getId(), mEntrance, "文章-评论详情"));
@ -472,16 +451,13 @@ public class MessageDetailAdapter extends BaseRecyclerAdapter<ViewHolder> {
viewHolder.loading.setVisibility(View.GONE);
}
viewHolder.itemView.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
if (isNetworkError) {
isNetworkError = false;
viewHolder.loading.setVisibility(View.VISIBLE);
viewHolder.hint.setText(R.string.loading);
addHotComment();
notifyDataSetChanged();
}
viewHolder.itemView.setOnClickListener(v -> {
if (isNetworkError) {
isNetworkError = false;
viewHolder.loading.setVisibility(View.VISIBLE);
viewHolder.hint.setText(R.string.loading);
addHotComment();
notifyDataSetChanged();
}
});
}