diff --git a/app/src/main/java/com/gh/gamecenter/qa/column/detail/unanswered/UnansweredAdapter.kt b/app/src/main/java/com/gh/gamecenter/qa/column/detail/unanswered/UnansweredAdapter.kt index 639d59bffd..e953a6cd8a 100644 --- a/app/src/main/java/com/gh/gamecenter/qa/column/detail/unanswered/UnansweredAdapter.kt +++ b/app/src/main/java/com/gh/gamecenter/qa/column/detail/unanswered/UnansweredAdapter.kt @@ -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)) } diff --git a/app/src/main/java/com/gh/gamecenter/qa/entity/ArticleEntity.kt b/app/src/main/java/com/gh/gamecenter/qa/entity/ArticleEntity.kt index 97fd5cc671..e83a62fc97 100644 --- a/app/src/main/java/com/gh/gamecenter/qa/entity/ArticleEntity.kt +++ b/app/src/main/java/com/gh/gamecenter/qa/entity/ArticleEntity.kt @@ -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, diff --git a/app/src/main/java/com/gh/gamecenter/qa/entity/Questions.kt b/app/src/main/java/com/gh/gamecenter/qa/entity/Questions.kt index 0a217cdad3..248b0f07f4 100644 --- a/app/src/main/java/com/gh/gamecenter/qa/entity/Questions.kt +++ b/app/src/main/java/com/gh/gamecenter/qa/entity/Questions.kt @@ -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 = arrayListOf(), var images: ArrayList = ArrayList(), val time: Long = 0, diff --git a/app/src/main/java/com/gh/gamecenter/qa/myqa/ConcernQuestionsAdapter.java b/app/src/main/java/com/gh/gamecenter/qa/myqa/ConcernQuestionsAdapter.java index 2502e41176..8df52a348d 100644 --- a/app/src/main/java/com/gh/gamecenter/qa/myqa/ConcernQuestionsAdapter.java +++ b/app/src/main/java/com/gh/gamecenter/qa/myqa/ConcernQuestionsAdapter.java @@ -60,7 +60,7 @@ class ConcernQuestionsAdapter extends ListAdapter { 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); diff --git a/app/src/main/java/com/gh/gamecenter/qa/myqa/MyQuestionsAdapter.java b/app/src/main/java/com/gh/gamecenter/qa/myqa/MyQuestionsAdapter.java index 6195eb0d96..4f651cd9f5 100644 --- a/app/src/main/java/com/gh/gamecenter/qa/myqa/MyQuestionsAdapter.java +++ b/app/src/main/java/com/gh/gamecenter/qa/myqa/MyQuestionsAdapter.java @@ -58,7 +58,7 @@ public class MyQuestionsAdapter extends ListAdapter { 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: diff --git a/app/src/main/java/com/gh/gamecenter/qa/newest/AskQuestionsNewBodyAdapter.java b/app/src/main/java/com/gh/gamecenter/qa/newest/AskQuestionsNewBodyAdapter.java index dad35ceb31..18514b4fee 100644 --- a/app/src/main/java/com/gh/gamecenter/qa/newest/AskQuestionsNewBodyAdapter.java +++ b/app/src/main/java/com/gh/gamecenter/qa/newest/AskQuestionsNewBodyAdapter.java @@ -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 { 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; diff --git a/app/src/main/java/com/gh/gamecenter/qa/questions/CommunityQuestionViewHolder.kt b/app/src/main/java/com/gh/gamecenter/qa/questions/CommunityQuestionViewHolder.kt index f70f600a87..132b4a3fd3 100644 --- a/app/src/main/java/com/gh/gamecenter/qa/questions/CommunityQuestionViewHolder.kt +++ b/app/src/main/java/com/gh/gamecenter/qa/questions/CommunityQuestionViewHolder.kt @@ -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(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)) + + } + } } } \ No newline at end of file