From 86247e4a616272da8cfd3c1e92b197866fd8a2a0 Mon Sep 17 00:00:00 2001 From: kehaoyuan Date: Wed, 28 Nov 2018 18:40:45 +0800 Subject: [PATCH] =?UTF-8?q?=E5=9B=9E=E9=80=80=E9=97=AE=E7=AD=94-=E6=8E=A8?= =?UTF-8?q?=E8=8D=90=E8=AE=BF=E9=97=AE=E8=B7=AF=E5=BE=84=20=E5=A2=9E?= =?UTF-8?q?=E5=8A=A0=E9=97=AE=E9=A2=98=E5=8E=86=E5=8F=B2=E5=92=8C=E5=8E=86?= =?UTF-8?q?=E5=8F=B2=E8=AF=A6=E6=83=85?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/src/main/AndroidManifest.xml | 9 + .../detail/QuestionsDetailFragment.java | 3 + .../qa/questions/edit/QuestionEditActivity.kt | 17 +- .../questions/edit/manager/HistoryActivity.kt | 26 +++ .../questions/edit/manager/HistoryAdapter.kt | 37 ++++ .../edit/manager/HistoryDetailActivity.kt | 30 +++ .../AskQuestionsRecommendsFragment.java | 2 +- .../newest/RecommendNewestAdapter.kt | 2 +- .../main/res/layout/question_history_item.xml | 6 + .../res/layout/questions_history_detail.xml | 190 ++++++++++++++++++ 10 files changed, 319 insertions(+), 3 deletions(-) create mode 100644 app/src/main/java/com/gh/gamecenter/qa/questions/edit/manager/HistoryActivity.kt create mode 100644 app/src/main/java/com/gh/gamecenter/qa/questions/edit/manager/HistoryAdapter.kt create mode 100644 app/src/main/java/com/gh/gamecenter/qa/questions/edit/manager/HistoryDetailActivity.kt create mode 100644 app/src/main/res/layout/question_history_item.xml create mode 100644 app/src/main/res/layout/questions_history_detail.xml diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml index 1c6e0696f8..f83f59760d 100644 --- a/app/src/main/AndroidManifest.xml +++ b/app/src/main/AndroidManifest.xml @@ -360,10 +360,19 @@ + + + + + ?) + mViewModel?.isManagerPatch = intent.getBooleanExtra(QuestionsDetailEntity.TAG, false) if (mViewModel?.title.isNullOrEmpty()) mViewModel?.title = detailEntity.title } else { // 新增问题 var searchKey = intent.getStringExtra(EntranceUtils.KEY_QUESTIONS_SEARCH_KEY) @@ -170,7 +180,12 @@ class QuestionEditActivity : BaseActivity() { } override fun onMenuItemClick(menuItem: MenuItem?): Boolean { - mViewModel?.checkTitleAndLoadTitleTag() + if (mViewModel!!.isManagerPatch) { + mViewModel?.selectedTags?.addAll(mViewModel?.questionEntity?.tags!!) + // todo 直接提交 + } else { + mViewModel?.checkTitleAndLoadTitleTag() + } return false } diff --git a/app/src/main/java/com/gh/gamecenter/qa/questions/edit/manager/HistoryActivity.kt b/app/src/main/java/com/gh/gamecenter/qa/questions/edit/manager/HistoryActivity.kt new file mode 100644 index 0000000000..ab3b52f8da --- /dev/null +++ b/app/src/main/java/com/gh/gamecenter/qa/questions/edit/manager/HistoryActivity.kt @@ -0,0 +1,26 @@ +package com.gh.gamecenter.qa.questions.edit.manager + +import android.content.Context +import android.content.Intent +import com.gh.gamecenter.baselist.ListActivity +import com.gh.gamecenter.baselist.NormalListViewModel +import com.gh.gamecenter.qa.entity.QuestionsDetailEntity + +class HistoryActivity : ListActivity>() { + private var mAdapter: HistoryAdapter? = null + + override fun provideListAdapter(): HistoryAdapter { + if (mAdapter == null) { + mAdapter = HistoryAdapter(this, mListViewModel) + } + return mAdapter!! + } + + companion object { + @JvmStatic + fun getIntent(context: Context): Intent { + val intent = Intent(context, HistoryActivity::class.java) + return intent + } + } +} \ No newline at end of file diff --git a/app/src/main/java/com/gh/gamecenter/qa/questions/edit/manager/HistoryAdapter.kt b/app/src/main/java/com/gh/gamecenter/qa/questions/edit/manager/HistoryAdapter.kt new file mode 100644 index 0000000000..cf0ae8110a --- /dev/null +++ b/app/src/main/java/com/gh/gamecenter/qa/questions/edit/manager/HistoryAdapter.kt @@ -0,0 +1,37 @@ +package com.gh.gamecenter.qa.questions.edit.manager + +import android.content.Context +import android.support.v7.widget.RecyclerView +import android.view.ViewGroup +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.baselist.NormalListViewModel +import com.gh.gamecenter.qa.entity.QuestionsDetailEntity + +class HistoryAdapter(context: Context, + private val mViewModel: NormalListViewModel) : ListAdapter(context) { + + override fun getItemViewType(position: Int): Int { + return if (position == itemCount - 1) { + ItemViewType.ITEM_FOOTER + } else { + ItemViewType.ITEM_BODY + } + } + + override fun onCreateViewHolder(parent: ViewGroup, viewType: Int): RecyclerView.ViewHolder { + val view = mLayoutInflater . inflate (R.layout.refresh_footerview, parent, false) + return FooterViewHolder(view) + } + + override fun getItemCount(): Int = if (mEntityList.isEmpty()) 0 else mEntityList.size + TOP_ITEM_COUNT + + override fun onBindViewHolder(holder: RecyclerView.ViewHolder, position: Int) { + if (holder is FooterViewHolder) { + holder.initFooterViewHolder(mViewModel, mIsLoading, mIsNetworkError, mIsOver) + } + } + +} \ No newline at end of file diff --git a/app/src/main/java/com/gh/gamecenter/qa/questions/edit/manager/HistoryDetailActivity.kt b/app/src/main/java/com/gh/gamecenter/qa/questions/edit/manager/HistoryDetailActivity.kt new file mode 100644 index 0000000000..83f5bcdaac --- /dev/null +++ b/app/src/main/java/com/gh/gamecenter/qa/questions/edit/manager/HistoryDetailActivity.kt @@ -0,0 +1,30 @@ +package com.gh.gamecenter.qa.questions.edit.manager + +import android.content.Context +import android.content.Intent +import android.os.Bundle +import com.gh.base.BaseActivity +import com.gh.gamecenter.R +import com.gh.gamecenter.databinding.QuestionsHistoryDetailBinding +import com.gh.gamecenter.qa.entity.QuestionsDetailEntity + +class HistoryDetailActivity : BaseActivity() { + private lateinit var mBinding: QuestionsHistoryDetailBinding; + + override fun getLayoutId(): Int { + return R.layout.questions_history_detail + } + + override fun onCreate(savedInstanceState: Bundle?) { + super.onCreate(savedInstanceState) + mBinding = QuestionsHistoryDetailBinding.bind(mContentView) + } + + companion object { + fun getIntent(context: Context, historyList: ArrayList): Intent { + val intent = Intent(context, HistoryDetailActivity::class.java) + intent.putParcelableArrayListExtra(QuestionsDetailEntity::class.java.simpleName, historyList) + return intent + } + } +} \ No newline at end of file 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 1055c7d98e..86d3b7210f 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 @@ -183,7 +183,7 @@ public class AskQuestionsRecommendsFragment extends ListFragment(conte questions.title = answerEntity.articleTitle answerEntity.questions = questions } - val path = "首页-推荐" + val path = "问答-精选(时间)" viewHolder.initQuestionsHotViewHolder(mContext, answerEntity, "", path) viewHolder.mAskTitle.setOnClickListener { if ("community_article" == answerEntity.type) { diff --git a/app/src/main/res/layout/question_history_item.xml b/app/src/main/res/layout/question_history_item.xml new file mode 100644 index 0000000000..01409b84bb --- /dev/null +++ b/app/src/main/res/layout/question_history_item.xml @@ -0,0 +1,6 @@ + + + + \ No newline at end of file diff --git a/app/src/main/res/layout/questions_history_detail.xml b/app/src/main/res/layout/questions_history_detail.xml new file mode 100644 index 0000000000..357c997ec1 --- /dev/null +++ b/app/src/main/res/layout/questions_history_detail.xml @@ -0,0 +1,190 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +