diff --git a/app/src/main/java/com/gh/common/util/SyncDataBetweenPageHelper.kt b/app/src/main/java/com/gh/common/util/SyncDataBetweenPageHelper.kt index 48b53e99cd..ae4e28fdb5 100644 --- a/app/src/main/java/com/gh/common/util/SyncDataBetweenPageHelper.kt +++ b/app/src/main/java/com/gh/common/util/SyncDataBetweenPageHelper.kt @@ -5,7 +5,6 @@ import android.content.Context import android.content.Intent import android.os.Parcelable import androidx.fragment.app.Fragment -import anet.channel.util.Utils.context import com.gh.common.annotation.Synchronize import com.gh.common.util.SyncDataBetweenPageHelper.resultHandle import com.gh.common.util.SyncDataBetweenPageHelper.startActivityForResult diff --git a/app/src/main/java/com/gh/gamecenter/game/upload/GameUploadViewModel.kt b/app/src/main/java/com/gh/gamecenter/game/upload/GameUploadViewModel.kt index ab36be84fa..63e543ded2 100644 --- a/app/src/main/java/com/gh/gamecenter/game/upload/GameUploadViewModel.kt +++ b/app/src/main/java/com/gh/gamecenter/game/upload/GameUploadViewModel.kt @@ -5,11 +5,11 @@ import androidx.lifecycle.AndroidViewModel import androidx.lifecycle.MutableLiveData import androidx.lifecycle.ViewModel import androidx.lifecycle.ViewModelProvider -import anet.channel.util.Utils.context import com.gh.gamecenter.manager.UserManager import com.gh.gamecenter.retrofit.Response import com.gh.gamecenter.retrofit.RetrofitManager import com.gh.gamecenter.user.ApiResponse +import com.halo.assistant.HaloApp import io.reactivex.android.schedulers.AndroidSchedulers import io.reactivex.schedulers.Schedulers import okhttp3.RequestBody @@ -20,7 +20,8 @@ class GameUploadViewModel(application: Application) : AndroidViewModel(applicati val upLoadSuccess = MutableLiveData() //上传游戏 fun uploadGames(body: RequestBody) { - RetrofitManager.getInstance(context).api.uploadGames(UserManager.getInstance().userId, body) + RetrofitManager.getInstance(HaloApp.getInstance().application) + .api.uploadGames(UserManager.getInstance().userId, body) .subscribeOn(Schedulers.io()) .observeOn(AndroidSchedulers.mainThread()) .subscribe(object : Response() { diff --git a/app/src/main/java/com/gh/gamecenter/qa/answer/CommunityAnswerItemViewHolder.kt b/app/src/main/java/com/gh/gamecenter/qa/answer/CommunityAnswerItemViewHolder.kt new file mode 100644 index 0000000000..a527b7f12f --- /dev/null +++ b/app/src/main/java/com/gh/gamecenter/qa/answer/CommunityAnswerItemViewHolder.kt @@ -0,0 +1,48 @@ +package com.gh.gamecenter.qa.answer + +import android.view.View +import com.gh.base.BaseRecyclerViewHolder +import com.gh.common.util.* +import com.gh.gamecenter.databinding.CommunityAnswerItemBinding +import com.gh.gamecenter.qa.entity.AnswerEntity +import com.gh.gamecenter.qa.entity.ArticleEntity + +/** + * 因为社区回答和社区文章的样式完全一样,所以就统一处理吧! + */ +class CommunityAnswerItemViewHolder(val binding: CommunityAnswerItemBinding) : BaseRecyclerViewHolder(binding.root) { + + fun bindAnswerItem(entity: AnswerEntity, entrance: String, path: String) { + binding.entity = entity + + val user = entity.user + binding.userBadgeName.setOnClickListener { binding.userBadgeIcon.performClick() } + binding.userBadgeIcon.setOnClickListener { + var key = "" + if (path == "标签专栏-热门") { + key = "问题标签详情-热门" + } else if (path == "标签专栏-精华") { + key = "问题标签详情-精华" + } else if (path == "专栏-热门") { + key = "问答-专栏详情-热门" + } else if (path == "专栏-精华") { + key = "问答-专栏详情-精华" + } else if (path == "游戏详情-动态") { + key = "游戏详情-热门回答" + } else if (path == "问答-推荐-按精选" || path == "问答-推荐-按时间") { + key = "问答-推荐" + } + MtaHelper.onEvent("进入徽章墙_用户记录", key, user.name + "(" + user.id + ")") + MtaHelper.onEvent("徽章中心", "进入徽章中心", key) + DirectUtils.directToBadgeWall(binding.root.context, user.id, user.name, user.icon) + } + + val userClick = View.OnClickListener { DirectUtils.directToHomeActivity(binding.root.context, entity.user.id, entrance, path) } + binding.userIcon.setOnClickListener(userClick) + binding.userName.setOnClickListener(userClick) + } + + fun bindArticleItem(entity: ArticleEntity) { + + } +} \ No newline at end of file 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 4362ee03a4..639d59bffd 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 @@ -7,9 +7,10 @@ import com.gh.common.constant.ItemViewType import com.gh.gamecenter.R import com.gh.gamecenter.adapter.viewholder.FooterViewHolder import com.gh.gamecenter.baselist.ListAdapter +import com.gh.gamecenter.databinding.CommunityQuestionItemBinding import com.gh.gamecenter.entity.SpecialColumn import com.gh.gamecenter.qa.entity.Questions -import com.gh.gamecenter.qa.newest.AskQuestionsNewViewHolder +import com.gh.gamecenter.qa.questions.CommunityQuestionViewHolder import com.gh.gamecenter.qa.questions.detail.QuestionsDetailActivity class UnansweredAdapter(context: Context, @@ -27,7 +28,8 @@ class UnansweredAdapter(context: Context, FooterViewHolder(mLayoutInflater.inflate(R.layout.refresh_footerview, parent, false)) } else -> { - AskQuestionsNewViewHolder(mLayoutInflater.inflate(R.layout.ask_questions_new_item, parent, false)) + val view = mLayoutInflater.inflate(R.layout.community_question_item, parent, false) + CommunityQuestionViewHolder(CommunityQuestionItemBinding.bind(view)) } } } @@ -37,9 +39,9 @@ class UnansweredAdapter(context: Context, } override fun onBindViewHolder(holder: RecyclerView.ViewHolder, position: Int) { - if (holder is AskQuestionsNewViewHolder) { + if (holder is CommunityQuestionViewHolder) { val questions = mEntityList[position] - holder.initAskQuestionsNewViewHolder(questions) + holder.bindQuestionViewHolder(questions) holder.itemView.setOnClickListener { mContext.startActivity(QuestionsDetailActivity.getIntent(mContext, questions.id, mEntrance, mPath, mSpecialColumn)) } 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 7786a85267..2502e41176 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 @@ -1,7 +1,11 @@ package com.gh.gamecenter.qa.myqa; +import android.app.Activity; import android.content.Context; + import androidx.recyclerview.widget.RecyclerView; + +import android.content.Intent; import android.view.View; import android.view.ViewGroup; @@ -9,9 +13,11 @@ import com.gh.base.OnListClickListener; import com.gh.common.constant.ItemViewType; import com.gh.gamecenter.R; import com.gh.gamecenter.adapter.viewholder.FooterViewHolder; -import com.gh.gamecenter.qa.newest.AskQuestionsNewViewHolder; +import com.gh.gamecenter.databinding.CommunityQuestionItemBinding; import com.gh.gamecenter.qa.entity.Questions; import com.gh.gamecenter.baselist.ListAdapter; +import com.gh.gamecenter.qa.questions.CommunityQuestionViewHolder; +import com.gh.gamecenter.qa.questions.detail.QuestionsDetailActivity; /** * Created by khy on 20/12/17. @@ -20,10 +26,11 @@ import com.gh.gamecenter.baselist.ListAdapter; class ConcernQuestionsAdapter extends ListAdapter { private OnListClickListener mListClickListener; + private String mEntrance = ""; - - public ConcernQuestionsAdapter(Context context, OnListClickListener listClickListener) { + public ConcernQuestionsAdapter(Context context, String entrance, OnListClickListener listClickListener) { super(context); + mEntrance = entrance; mListClickListener = listClickListener; } @@ -41,8 +48,8 @@ class ConcernQuestionsAdapter extends ListAdapter { view = mLayoutInflater.inflate(R.layout.refresh_footerview, parent, false); return new FooterViewHolder(view, mListClickListener); case ItemViewType.ITEM_BODY: - view = mLayoutInflater.inflate(R.layout.ask_questions_new_item, parent, false); - return new AskQuestionsNewViewHolder(view, mListClickListener); + view = mLayoutInflater.inflate(R.layout.community_question_item, parent, false); + return new CommunityQuestionViewHolder(CommunityQuestionItemBinding.bind(view)); default: return null; } @@ -52,8 +59,14 @@ class ConcernQuestionsAdapter extends ListAdapter { public void onBindViewHolder(RecyclerView.ViewHolder holder, int position) { switch (getItemViewType(position)) { case ItemViewType.ITEM_BODY: - ((AskQuestionsNewViewHolder) holder).initMyQuestionsViewHolder(mEntityList.get(position)); - + Questions questions = mEntityList.get(position); + ((CommunityQuestionViewHolder) holder).bindMyQuestionViewHolder(questions); + holder.itemView.setOnClickListener(v -> { + if (mContext instanceof Activity) { + Intent intent = QuestionsDetailActivity.getIntent(mContext, questions.getId(), mEntrance, "我的问答-关注问题", true); + ((Activity) mContext).startActivityForResult(intent, ConcernQuestionsFragment.KEY_CHECK_QUESTION_CONCERN); + } + }); break; case ItemViewType.ITEM_FOOTER: FooterViewHolder footerViewHolder = (FooterViewHolder) holder; diff --git a/app/src/main/java/com/gh/gamecenter/qa/myqa/ConcernQuestionsFragment.java b/app/src/main/java/com/gh/gamecenter/qa/myqa/ConcernQuestionsFragment.java index abc55b3fad..6a931c35c3 100644 --- a/app/src/main/java/com/gh/gamecenter/qa/myqa/ConcernQuestionsFragment.java +++ b/app/src/main/java/com/gh/gamecenter/qa/myqa/ConcernQuestionsFragment.java @@ -13,7 +13,6 @@ import com.gh.gamecenter.baselist.LoadType; import com.gh.gamecenter.baselist.NormalListViewModel; import com.gh.gamecenter.manager.UserManager; import com.gh.gamecenter.qa.entity.Questions; -import com.gh.gamecenter.qa.questions.detail.QuestionsDetailActivity; import com.gh.gamecenter.retrofit.RetrofitManager; import java.util.List; @@ -47,7 +46,7 @@ public class ConcernQuestionsFragment extends ListFragment { private OnListClickListener mListClickListener; + private String mEntrance = ""; - - public MyQuestionsAdapter(Context context, OnListClickListener listClickListener) { + public MyQuestionsAdapter(Context context, String entrance, OnListClickListener listClickListener) { super(context); + mEntrance = entrance; mListClickListener = listClickListener; } @@ -41,8 +46,8 @@ public class MyQuestionsAdapter extends ListAdapter { view = mLayoutInflater.inflate(R.layout.refresh_footerview, parent, false); return new FooterViewHolder(view, mListClickListener); case ItemViewType.ITEM_BODY: - view = mLayoutInflater.inflate(R.layout.ask_questions_new_item, parent, false); - return new AskQuestionsNewViewHolder(view, mListClickListener); + view = mLayoutInflater.inflate(R.layout.community_question_item, parent, false); + return new CommunityQuestionViewHolder(CommunityQuestionItemBinding.bind(view)); default: return null; } @@ -52,8 +57,9 @@ public class MyQuestionsAdapter extends ListAdapter { public void onBindViewHolder(RecyclerView.ViewHolder holder, int position) { switch (getItemViewType(position)) { case ItemViewType.ITEM_BODY: - ((AskQuestionsNewViewHolder) holder).initMyQuestionsViewHolder(mEntityList.get(position)); - + Questions questions = mEntityList.get(position); + ((CommunityQuestionViewHolder) holder).bindMyQuestionViewHolder(questions); + holder.itemView.setOnClickListener(v -> mContext.startActivity(QuestionsDetailActivity.getIntent(mContext, questions.getId(), mEntrance, "我的光环-我的问答-我的问题"))); break; case ItemViewType.ITEM_FOOTER: FooterViewHolder footerViewHolder = (FooterViewHolder) holder; diff --git a/app/src/main/java/com/gh/gamecenter/qa/myqa/MyQuestionsFragment.java b/app/src/main/java/com/gh/gamecenter/qa/myqa/MyQuestionsFragment.java index ad3e8e6afd..5689ab6c99 100644 --- a/app/src/main/java/com/gh/gamecenter/qa/myqa/MyQuestionsFragment.java +++ b/app/src/main/java/com/gh/gamecenter/qa/myqa/MyQuestionsFragment.java @@ -11,7 +11,6 @@ import com.gh.gamecenter.baselist.LoadType; import com.gh.gamecenter.baselist.NormalListViewModel; import com.gh.gamecenter.manager.UserManager; import com.gh.gamecenter.qa.entity.Questions; -import com.gh.gamecenter.qa.questions.detail.QuestionsDetailActivity; import com.gh.gamecenter.retrofit.RetrofitManager; import com.halo.assistant.HaloApp; import com.lightgame.utils.Utils; @@ -38,7 +37,7 @@ public class MyQuestionsFragment extends ListFragment { private OnListClickListener mListClickListener; + private String mEntrance = ""; + @Override protected boolean areItemsTheSame(Questions oldItem, Questions newItem) { return oldItem.getId().equals(newItem.getId()); } - public AskQuestionsNewBodyAdapter(Context context, OnListClickListener listClickListener) { + public AskQuestionsNewBodyAdapter(Context context, String entrance, OnListClickListener listClickListener) { super(context); + mEntrance = entrance; mListClickListener = listClickListener; } @@ -44,8 +50,8 @@ public class AskQuestionsNewBodyAdapter extends ListAdapter { view = mLayoutInflater.inflate(R.layout.refresh_footerview, parent, false); return new FooterViewHolder(view, mListClickListener); case ItemViewType.ITEM_BODY: - view = mLayoutInflater.inflate(R.layout.ask_questions_new_item, parent, false); - return new AskQuestionsNewViewHolder(view, mListClickListener); + view = mLayoutInflater.inflate(R.layout.community_question_item, parent, false); + return new CommunityQuestionViewHolder(CommunityQuestionItemBinding.bind(view)); default: return null; } @@ -55,7 +61,10 @@ public class AskQuestionsNewBodyAdapter extends ListAdapter { public void onBindViewHolder(RecyclerView.ViewHolder holder, int position) { switch (getItemViewType(position)) { case ItemViewType.ITEM_BODY: - ((AskQuestionsNewViewHolder) holder).initAskQuestionsNewViewHolder(mEntityList.get(position)); + Questions questions = mEntityList.get(position); + ((CommunityQuestionViewHolder) holder).bindQuestionViewHolder(questions); + holder.itemView.setOnClickListener(v -> mContext.startActivity(QuestionsDetailActivity.getIntent(mContext, questions.getId(), mEntrance, "问答-问题"))); + break; case ItemViewType.ITEM_FOOTER: FooterViewHolder footerViewHolder = (FooterViewHolder) holder; diff --git a/app/src/main/java/com/gh/gamecenter/qa/newest/AskQuestionsNewBodyFragment.java b/app/src/main/java/com/gh/gamecenter/qa/newest/AskQuestionsNewBodyFragment.java index 74b4925c0c..a467051ee7 100644 --- a/app/src/main/java/com/gh/gamecenter/qa/newest/AskQuestionsNewBodyFragment.java +++ b/app/src/main/java/com/gh/gamecenter/qa/newest/AskQuestionsNewBodyFragment.java @@ -22,7 +22,6 @@ import com.gh.gamecenter.eventbus.EBTypeChange; import com.gh.gamecenter.manager.UserManager; import com.gh.gamecenter.qa.CommunityFragment; import com.gh.gamecenter.qa.entity.Questions; -import com.gh.gamecenter.qa.questions.detail.QuestionsDetailActivity; import com.gh.gamecenter.qa.questions.edit.QuestionEditActivity; import com.gh.gamecenter.retrofit.RetrofitManager; @@ -99,7 +98,7 @@ public class AskQuestionsNewBodyFragment extends ListFragment { - - @BindView(R.id.ask_questions_item_title) - TextView mTitle; - @BindView(R.id.ask_questions_item_answer_count) - TextView mAnswerCount; - @BindView(R.id.ask_questions_item_community_name) - TextView mCommunityName; - - public AskQuestionsNewViewHolder(View itemView) { - super(itemView); - itemView.setOnClickListener(this); - } - - public AskQuestionsNewViewHolder(View itemView, OnListClickListener listClickListener) { - super(itemView, listClickListener); - itemView.setOnClickListener(this); - } - - public void initAskQuestionsNewViewHolder(Questions questions) { - setClickData(questions); - mAnswerCount.setText(NumberUtils.transSimpleCount(questions.getAnswerCount())); - mTitle.setText(questions.getTitle()); - mCommunityName.setVisibility(View.VISIBLE); - mCommunityName.setText(NewsUtils.getFormattedTime(questions.getTime())); - } - - public void initMyQuestionsViewHolder(Questions questions) { - setClickData(questions); - mAnswerCount.setText(NumberUtils.transSimpleCount(questions.getAnswerCount())); - mTitle.setText(questions.getTitle()); - mCommunityName.setVisibility(View.VISIBLE); - mCommunityName.setText(questions.getCommunityName()); - } -} 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 new file mode 100644 index 0000000000..f70f600a87 --- /dev/null +++ b/app/src/main/java/com/gh/gamecenter/qa/questions/CommunityQuestionViewHolder.kt @@ -0,0 +1,26 @@ +package com.gh.gamecenter.qa.questions + +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.qa.entity.Questions + +class CommunityQuestionViewHolder(val binding: CommunityQuestionItemBinding) : BaseRecyclerViewHolder(binding.root) { + + fun bindQuestionViewHolder(questions: Questions) { + binding.title.text = questions.title + 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 + binding.endDesc.text = questions.communityName + binding.answerCount.text = if (questions.answerCount>0) { + NumberUtils.transSimpleCount(questions.answerCount) + } else "回答" + } +} \ No newline at end of file diff --git a/app/src/main/java/com/gh/gamecenter/qa/recommends/AskQuestionsRecommendsAdapter.java b/app/src/main/java/com/gh/gamecenter/qa/recommends/AskQuestionsRecommendsAdapter.java index ed59436dc4..9873200042 100644 --- a/app/src/main/java/com/gh/gamecenter/qa/recommends/AskQuestionsRecommendsAdapter.java +++ b/app/src/main/java/com/gh/gamecenter/qa/recommends/AskQuestionsRecommendsAdapter.java @@ -1,8 +1,11 @@ package com.gh.gamecenter.qa.recommends; +import android.app.Activity; import android.content.Context; + import androidx.recyclerview.widget.GridLayoutManager; import androidx.recyclerview.widget.RecyclerView; + import android.view.View; import android.view.ViewGroup; @@ -15,9 +18,14 @@ import com.gh.gamecenter.adapter.viewholder.FooterViewHolder; import com.gh.gamecenter.adapter.viewholder.ReuseViewHolder; import com.gh.gamecenter.baselist.ListAdapter; import com.gh.gamecenter.databinding.AskRecommendsItemConcernBinding; +import com.gh.gamecenter.databinding.CommunityAnswerItemBinding; import com.gh.gamecenter.manager.UserManager; +import com.gh.gamecenter.qa.answer.CommunityAnswerItemViewHolder; +import com.gh.gamecenter.qa.answer.detail.AnswerDetailActivity; +import com.gh.gamecenter.qa.article.detail.ArticleDetailActivity; import com.gh.gamecenter.qa.entity.AnswerEntity; import com.gh.gamecenter.qa.entity.Questions; +import com.gh.gamecenter.qa.questions.detail.QuestionsDetailActivity; import java.util.ArrayList; import java.util.List; @@ -75,8 +83,8 @@ public class AskQuestionsRecommendsAdapter extends ListAdapter { + if ("community_article".equals(answer.getType())) { + if (mContext instanceof Activity) { + ((Activity) mContext).startActivityForResult(ArticleDetailActivity.getRecommendsIntent(mContext, + UserManager.getInstance().getCommunity(), answer.getId(), "", + AskQuestionsRecommendsFragment.QUESTION_RECOMMEND_PATH), + AskQuestionsRecommendsFragment.RECOMMENDS_REQUEST_CODE); + } + + } else { + Questions questions = answer.getQuestions(); + mContext.startActivity(QuestionsDetailActivity.getIntent(mContext, + questions.getId(), "", + AskQuestionsRecommendsFragment.QUESTION_RECOMMEND_PATH)); + } + }); + + binding.getRoot().setOnClickListener(new View.OnClickListener() { + @Override + public void onClick(View v) { + if ("community_article".equals(answer.getType())) { + if (mContext instanceof Activity) { + ((Activity) mContext).startActivityForResult(ArticleDetailActivity.getRecommendsIntent(mContext, + UserManager.getInstance().getCommunity(), answer.getId(), "", + AskQuestionsRecommendsFragment.QUESTION_RECOMMEND_PATH), + AskQuestionsRecommendsFragment.RECOMMENDS_REQUEST_CODE); + + } + } else { + ((Activity) mContext).startActivityForResult(AnswerDetailActivity.getRecommendsIntent(mContext, + answer.getId(), "", + AskQuestionsRecommendsFragment.QUESTION_RECOMMEND_PATH), + AskQuestionsRecommendsFragment.RECOMMENDS_REQUEST_CODE); + } + } + }); break; case ItemViewType.ITEM_FOOTER: FooterViewHolder footerViewHolder = (FooterViewHolder) holder; diff --git a/app/src/main/java/com/gh/gamecenter/qa/recommends/AskQuestionsRecommendsFragment.java b/app/src/main/java/com/gh/gamecenter/qa/recommends/AskQuestionsRecommendsFragment.java index 1199d3a9b0..b7e81180e8 100644 --- a/app/src/main/java/com/gh/gamecenter/qa/recommends/AskQuestionsRecommendsFragment.java +++ b/app/src/main/java/com/gh/gamecenter/qa/recommends/AskQuestionsRecommendsFragment.java @@ -56,7 +56,7 @@ public class AskQuestionsRecommendsFragment extends ListFragment { @BindView(R.id.ask_item_usericon) diff --git a/app/src/main/java/com/gh/gamecenter/qa/recommends/newest/RecommendNewestAdapter.kt b/app/src/main/java/com/gh/gamecenter/qa/recommends/newest/RecommendNewestAdapter.kt index 86f3a22a26..bcf2a39cd4 100644 --- a/app/src/main/java/com/gh/gamecenter/qa/recommends/newest/RecommendNewestAdapter.kt +++ b/app/src/main/java/com/gh/gamecenter/qa/recommends/newest/RecommendNewestAdapter.kt @@ -8,7 +8,9 @@ import com.gh.common.constant.ItemViewType import com.gh.gamecenter.R import com.gh.gamecenter.adapter.viewholder.FooterViewHolder import com.gh.gamecenter.baselist.ListAdapter +import com.gh.gamecenter.databinding.CommunityAnswerItemBinding import com.gh.gamecenter.manager.UserManager +import com.gh.gamecenter.qa.answer.CommunityAnswerItemViewHolder import com.gh.gamecenter.qa.answer.detail.AnswerDetailActivity import com.gh.gamecenter.qa.article.detail.ArticleDetailActivity import com.gh.gamecenter.qa.entity.AnswerEntity @@ -35,8 +37,8 @@ open class RecommendNewestAdapter(context: Context) : ListAdapter( FooterViewHolder(view) } else -> { - view = mLayoutInflater.inflate(R.layout.ask_questions_hot_item, parent, false) - AskQuestionsRecommendsViewHolder(view) + view = mLayoutInflater.inflate(R.layout.community_answer_item, parent, false) + CommunityAnswerItemViewHolder(CommunityAnswerItemBinding.bind(view)) } } } @@ -48,28 +50,30 @@ open class RecommendNewestAdapter(context: Context) : ListAdapter( override fun onBindViewHolder(holder: RecyclerView.ViewHolder, position: Int) { when (getItemViewType(position)) { ItemViewType.ITEM_BODY -> { - val viewHolder = holder as AskQuestionsRecommendsViewHolder - val answerEntity = mEntityList[position] - if ("community_article" == answerEntity.type) { + val answer = mEntityList[position] + if ("community_article" == answer.type) { val questions = Questions() - questions.title = answerEntity.articleTitle - answerEntity.questions = questions + questions.title = answer.articleTitle + answer.questions = questions } - viewHolder.initQuestionsHotViewHolder(mContext, answerEntity, "", getPath()) - viewHolder.mAskTitle.setOnClickListener { - if ("community_article" == answerEntity.type) { - mContext.startActivity(ArticleDetailActivity.getIntent(mContext, UserManager.getInstance().community, answerEntity.id!!, "", getPath())) + + val answerViewHolder = holder as CommunityAnswerItemViewHolder + val binding = answerViewHolder.binding + answerViewHolder.bindAnswerItem(answer, "", getPath()) + binding.title.setOnClickListener { + if ("community_article" == answer.type) { + mContext.startActivity(ArticleDetailActivity.getIntent(mContext, UserManager.getInstance().community, answer.id!!, "", getPath())) } else { - val questions = answerEntity.questions + val questions = answer.questions mContext.startActivity(QuestionsDetailActivity.getIntent(mContext, questions.id, "", getPath())) } } - viewHolder.itemView.setOnClickListener { - if ("community_article" == answerEntity.type) { - mContext.startActivity(ArticleDetailActivity.getIntent(mContext, UserManager.getInstance().community, answerEntity.id!!, "", getPath())) + answerViewHolder.itemView.setOnClickListener { + if ("community_article" == answer.type) { + mContext.startActivity(ArticleDetailActivity.getIntent(mContext, UserManager.getInstance().community, answer.id!!, "", getPath())) } else { - mContext.startActivity(AnswerDetailActivity.getIntent(mContext, answerEntity.id, "", getPath())) + mContext.startActivity(AnswerDetailActivity.getIntent(mContext, answer.id, "", getPath())) } } } diff --git a/app/src/main/res/drawable-xxhdpi/community_comment_count_icon.png b/app/src/main/res/drawable-xxhdpi/community_comment_count_icon.png new file mode 100644 index 0000000000..0284f55406 Binary files /dev/null and b/app/src/main/res/drawable-xxhdpi/community_comment_count_icon.png differ diff --git a/app/src/main/res/drawable-xxhdpi/community_vote_cout_icon.png b/app/src/main/res/drawable-xxhdpi/community_vote_cout_icon.png new file mode 100644 index 0000000000..af5a54b61c Binary files /dev/null and b/app/src/main/res/drawable-xxhdpi/community_vote_cout_icon.png differ diff --git a/app/src/main/res/layout/ask_questions_new_item.xml b/app/src/main/res/layout/ask_questions_new_item.xml deleted file mode 100644 index a97a8f78b7..0000000000 --- a/app/src/main/res/layout/ask_questions_new_item.xml +++ /dev/null @@ -1,53 +0,0 @@ - - - - - - - - - - \ No newline at end of file diff --git a/app/src/main/res/layout/community_answer_item.xml b/app/src/main/res/layout/community_answer_item.xml new file mode 100644 index 0000000000..52127b02a7 --- /dev/null +++ b/app/src/main/res/layout/community_answer_item.xml @@ -0,0 +1,243 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/app/src/main/res/layout/community_question_item.xml b/app/src/main/res/layout/community_question_item.xml new file mode 100644 index 0000000000..408ae8bc6f --- /dev/null +++ b/app/src/main/res/layout/community_question_item.xml @@ -0,0 +1,72 @@ + + + + + + + + + + + + + + + + +