社区问题列表支持跳转至回答编辑页面
This commit is contained in:
@ -41,7 +41,7 @@ class UnansweredAdapter(context: Context,
|
||||
override fun onBindViewHolder(holder: RecyclerView.ViewHolder, position: Int) {
|
||||
if (holder is CommunityQuestionViewHolder) {
|
||||
val questions = mEntityList[position]
|
||||
holder.bindQuestionViewHolder(questions)
|
||||
holder.bindQuestionViewHolder(questions, mEntrance, mPath)
|
||||
holder.itemView.setOnClickListener {
|
||||
mContext.startActivity(QuestionsDetailActivity.getIntent(mContext, questions.id, mEntrance, mPath, mSpecialColumn))
|
||||
}
|
||||
|
||||
@ -58,9 +58,9 @@ data class ArticleEntity(
|
||||
|
||||
@Parcelize
|
||||
data class Count(
|
||||
var comment: Int = -1,
|
||||
var vote: Int = -1,
|
||||
var answer: Int = -1) : Parcelable
|
||||
var comment: Int = 0,
|
||||
var vote: Int = 0,
|
||||
var answer: Int = 0) : Parcelable
|
||||
|
||||
@Parcelize
|
||||
data class TimeEntity(var create: Long = 0,
|
||||
|
||||
@ -16,7 +16,7 @@ data class Questions(@SerializedName("_id")
|
||||
var communityName: String? = "", // 只在问题列表有效
|
||||
@SerializedName("answer_count")
|
||||
var answerCount: Int = 0,
|
||||
var description: String? = null,
|
||||
var description: String? = "",
|
||||
var videos: List<CommunityVideoEntity> = arrayListOf(),
|
||||
var images: ArrayList<String> = ArrayList(),
|
||||
val time: Long = 0,
|
||||
|
||||
@ -60,7 +60,7 @@ class ConcernQuestionsAdapter extends ListAdapter<Questions> {
|
||||
switch (getItemViewType(position)) {
|
||||
case ItemViewType.ITEM_BODY:
|
||||
Questions questions = mEntityList.get(position);
|
||||
((CommunityQuestionViewHolder) holder).bindMyQuestionViewHolder(questions);
|
||||
((CommunityQuestionViewHolder) holder).bindMyQuestionViewHolder(questions, mEntrance, "我的问答-关注问题");
|
||||
holder.itemView.setOnClickListener(v -> {
|
||||
if (mContext instanceof Activity) {
|
||||
Intent intent = QuestionsDetailActivity.getIntent(mContext, questions.getId(), mEntrance, "我的问答-关注问题", true);
|
||||
|
||||
@ -58,7 +58,7 @@ public class MyQuestionsAdapter extends ListAdapter<Questions> {
|
||||
switch (getItemViewType(position)) {
|
||||
case ItemViewType.ITEM_BODY:
|
||||
Questions questions = mEntityList.get(position);
|
||||
((CommunityQuestionViewHolder) holder).bindMyQuestionViewHolder(questions);
|
||||
((CommunityQuestionViewHolder) holder).bindMyQuestionViewHolder(questions,mEntrance,"我的光环-我的问答-我的问题");
|
||||
holder.itemView.setOnClickListener(v -> mContext.startActivity(QuestionsDetailActivity.getIntent(mContext, questions.getId(), mEntrance, "我的光环-我的问答-我的问题")));
|
||||
break;
|
||||
case ItemViewType.ITEM_FOOTER:
|
||||
|
||||
@ -1,7 +1,9 @@
|
||||
package com.gh.gamecenter.qa.newest;
|
||||
|
||||
import android.content.Context;
|
||||
|
||||
import androidx.recyclerview.widget.RecyclerView;
|
||||
|
||||
import android.view.View;
|
||||
import android.view.ViewGroup;
|
||||
|
||||
@ -62,7 +64,7 @@ public class AskQuestionsNewBodyAdapter extends ListAdapter<Questions> {
|
||||
switch (getItemViewType(position)) {
|
||||
case ItemViewType.ITEM_BODY:
|
||||
Questions questions = mEntityList.get(position);
|
||||
((CommunityQuestionViewHolder) holder).bindQuestionViewHolder(questions);
|
||||
((CommunityQuestionViewHolder) holder).bindQuestionViewHolder(questions, mEntrance, "问答-问题");
|
||||
holder.itemView.setOnClickListener(v -> mContext.startActivity(QuestionsDetailActivity.getIntent(mContext, questions.getId(), mEntrance, "问答-问题")));
|
||||
|
||||
break;
|
||||
|
||||
@ -4,23 +4,39 @@ import com.gh.base.BaseRecyclerViewHolder
|
||||
import com.gh.common.util.NewsUtils
|
||||
import com.gh.common.util.NumberUtils
|
||||
import com.gh.gamecenter.databinding.CommunityQuestionItemBinding
|
||||
import com.gh.gamecenter.manager.UserManager
|
||||
import com.gh.gamecenter.qa.answer.edit.AnswerEditActivity
|
||||
import com.gh.gamecenter.qa.entity.Questions
|
||||
import com.gh.gamecenter.qa.questions.detail.QuestionsDetailActivity
|
||||
import com.gh.gamecenter.qa.questions.detail.QuestionsDetailFragment
|
||||
|
||||
class CommunityQuestionViewHolder(val binding: CommunityQuestionItemBinding) : BaseRecyclerViewHolder<Any>(binding.root) {
|
||||
|
||||
fun bindQuestionViewHolder(questions: Questions) {
|
||||
binding.title.text = questions.title
|
||||
fun bindQuestionViewHolder(questions: Questions, entrance: String, path: String) {
|
||||
bindViewHolder(questions, entrance, path)
|
||||
binding.endDesc.text = NewsUtils.getFormattedTime(questions.time)
|
||||
binding.answerCount.text = if (questions.answerCount>0) {
|
||||
NumberUtils.transSimpleCount(questions.answerCount)
|
||||
} else "回答"
|
||||
}
|
||||
|
||||
fun bindMyQuestionViewHolder(questions: Questions) {
|
||||
binding.title.text = questions.title
|
||||
fun bindMyQuestionViewHolder(questions: Questions, entrance: String, path: String) {
|
||||
bindViewHolder(questions, entrance, path)
|
||||
binding.endDesc.text = questions.communityName
|
||||
binding.answerCount.text = if (questions.answerCount>0) {
|
||||
}
|
||||
|
||||
private fun bindViewHolder(questions: Questions, entrance: String, path: String) {
|
||||
binding.title.text = questions.title
|
||||
binding.answerCount.text = if (questions.answerCount > 0) {
|
||||
NumberUtils.transSimpleCount(questions.answerCount)
|
||||
} else "回答"
|
||||
|
||||
binding.answerCount.setOnClickListener {
|
||||
if (questions.answerCount > 0) {
|
||||
itemView.context.startActivity(QuestionsDetailActivity.getIntent(itemView.context, questions.id, entrance, path))
|
||||
} else {
|
||||
val communityName = if (questions.communityName.isNullOrEmpty()) UserManager.getInstance().community.name
|
||||
else questions.communityName
|
||||
itemView.context.startActivity(AnswerEditActivity.getIntent(itemView.context, questions, communityName))
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user