diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml
index a4f42ec09a..2cbab80f40 100644
--- a/app/src/main/AndroidManifest.xml
+++ b/app/src/main/AndroidManifest.xml
@@ -369,6 +369,14 @@
android:name = "com.gh.gamecenter.qa.questions.edit.manager.HistoryActivity"
android:screenOrientation = "portrait" />
+
+
+
+
{
@@ -130,6 +133,15 @@ abstract class BaseRichEditorActivity : BaseActivity() {
}
mEditorParagraphQuote.isChecked = !mEditorParagraphQuote.isChecked
}
+ R.id.editor_link_answer -> {
+ startActivity(InsertAnswerWrapperActivity.getIntent(this))
+ }
+ R.id.editor_link_article -> {
+
+ }
+ R.id.editor_link_game -> {
+ startActivity(GameActivity.getIntent(this))
+ }
}
}
diff --git a/app/src/main/java/com/gh/common/view/DownloadProgressBar.java b/app/src/main/java/com/gh/common/view/DownloadProgressBar.java
index 6b12363c61..1ca3f46203 100644
--- a/app/src/main/java/com/gh/common/view/DownloadProgressBar.java
+++ b/app/src/main/java/com/gh/common/view/DownloadProgressBar.java
@@ -121,7 +121,6 @@ public class DownloadProgressBar extends ProgressBar {
public void setText(@StringRes int res) {
setText(getResources().getString(res));
- invalidate(); // 文字绘制没有同步 就重绘多几遍吧 虽然不知到有没有用
}
public void setDownloadType(DownloadType downloadType) {
diff --git a/app/src/main/java/com/gh/gamecenter/qa/editor/AnswerAdapter.kt b/app/src/main/java/com/gh/gamecenter/qa/editor/AnswerAdapter.kt
new file mode 100644
index 0000000000..80a86f7853
--- /dev/null
+++ b/app/src/main/java/com/gh/gamecenter/qa/editor/AnswerAdapter.kt
@@ -0,0 +1,49 @@
+package com.gh.gamecenter.qa.editor
+
+import android.content.Context
+import android.support.v7.widget.RecyclerView
+import android.view.View
+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.qa.entity.AnswerEntity
+import com.gh.gamecenter.qa.questions.detail.AnswerViewHolder
+
+class AnswerAdapter(context: Context, private val mEntrance: String?) : 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: View
+ return when (viewType) {
+ ItemViewType.ITEM_FOOTER -> {
+ view = mLayoutInflater.inflate(R.layout.refresh_footerview, parent, false)
+ FooterViewHolder(view)
+ }
+ ItemViewType.ITEM_BODY -> {
+ view = mLayoutInflater.inflate(R.layout.ask_answer_item, parent, false)
+ AnswerViewHolder(view)
+ }
+ else -> throw NullPointerException()
+ }
+ }
+
+ override fun onBindViewHolder(holder: RecyclerView.ViewHolder, position: Int) {
+ when (getItemViewType(position)) {
+ ItemViewType.ITEM_BODY -> (holder as AnswerViewHolder).initCollectionAnswerViewHolder(mEntityList[position], mEntrance)
+ ItemViewType.ITEM_FOOTER -> {
+ val footerViewHolder = holder as FooterViewHolder
+ footerViewHolder.initItemPadding()
+ footerViewHolder.initFooterViewHolder(mIsLoading, mIsNetworkError, mIsOver, R.string.ask_loadover_hint)
+ }
+ }
+ }
+
+ override fun getItemCount(): Int {
+ return if (mEntityList == null || mEntityList.isEmpty()) 0 else mEntityList.size + ListAdapter.FOOTER_ITEM_COUNT
+ }
+}
diff --git a/app/src/main/java/com/gh/gamecenter/qa/editor/AnswerFragment.kt b/app/src/main/java/com/gh/gamecenter/qa/editor/AnswerFragment.kt
new file mode 100644
index 0000000000..50a2cea288
--- /dev/null
+++ b/app/src/main/java/com/gh/gamecenter/qa/editor/AnswerFragment.kt
@@ -0,0 +1,29 @@
+package com.gh.gamecenter.qa.editor
+
+import android.arch.lifecycle.ViewModelProviders
+import com.gh.gamecenter.baselist.ListFragment
+import com.gh.gamecenter.baselist.NormalListViewModel
+import com.gh.gamecenter.manager.UserManager
+import com.gh.gamecenter.qa.entity.AnswerEntity
+import com.gh.gamecenter.retrofit.RetrofitManager
+import com.halo.assistant.HaloApp
+import io.reactivex.Observable
+
+class AnswerFragment : ListFragment>() {
+
+ private var mAdapter: AnswerAdapter? = null
+
+ override fun provideListAdapter(): AnswerAdapter {
+ if (mAdapter == null) mAdapter = AnswerAdapter(context!!, mEntrance)
+ return mAdapter!!
+ }
+
+ override fun provideDataObservable(page: Int): Observable>? {
+ return RetrofitManager.getInstance(context).api.getCollectionAnswer(UserManager.getInstance().userId, page)
+ }
+
+ override fun provideListViewModel(): NormalListViewModel {
+ val factory = NormalListViewModel.Factory(HaloApp.getInstance().application, this)
+ return ViewModelProviders.of(this, factory).get(NormalListViewModel::class.java) as NormalListViewModel
+ }
+}
diff --git a/app/src/main/java/com/gh/gamecenter/qa/editor/GameActivity.kt b/app/src/main/java/com/gh/gamecenter/qa/editor/GameActivity.kt
new file mode 100644
index 0000000000..82d21283c7
--- /dev/null
+++ b/app/src/main/java/com/gh/gamecenter/qa/editor/GameActivity.kt
@@ -0,0 +1,45 @@
+package com.gh.gamecenter.qa.editor
+
+import android.arch.lifecycle.ViewModelProviders
+import android.content.Context
+import android.content.Intent
+import android.os.Bundle
+import com.gh.common.constant.Config
+import com.gh.gamecenter.baselist.ListActivity
+import com.gh.gamecenter.baselist.NormalListViewModel
+import com.gh.gamecenter.entity.GameEntity
+import com.gh.gamecenter.retrofit.RetrofitManager
+import com.halo.assistant.HaloApp
+import io.reactivex.Observable
+
+class GameActivity : ListActivity>() {
+
+ private var mAdapter: GameAdapter? = null
+ private val mKey: String? = null
+
+ override fun onCreate(savedInstanceState: Bundle?) {
+ super.onCreate(savedInstanceState)
+ setNavigationTitle("插入游戏")
+ }
+ override fun provideListAdapter(): GameAdapter? {
+ if (mAdapter == null) {
+ mAdapter = GameAdapter(this)
+ }
+ return mAdapter
+ }
+
+ override fun provideDataObservable(page: Int): Observable> {
+ return RetrofitManager.getInstance(this).api.getSearchGame(Config.API_HOST + "games:search?keyword=" + "少" + "&filter=view=digest")
+ }
+
+ override fun provideListViewModel(): NormalListViewModel {
+ val factory = NormalListViewModel.Factory(HaloApp.getInstance().application, this)
+ return ViewModelProviders.of(this, factory).get(NormalListViewModel::class.java) as NormalListViewModel
+ }
+
+ companion object {
+ fun getIntent(context: Context): Intent {
+ return Intent(context, GameActivity::class.java)
+ }
+ }
+}
diff --git a/app/src/main/java/com/gh/gamecenter/qa/editor/GameAdapter.kt b/app/src/main/java/com/gh/gamecenter/qa/editor/GameAdapter.kt
new file mode 100644
index 0000000000..f8ce804147
--- /dev/null
+++ b/app/src/main/java/com/gh/gamecenter/qa/editor/GameAdapter.kt
@@ -0,0 +1,43 @@
+package com.gh.gamecenter.qa.editor
+
+import android.content.Context
+import android.support.v7.widget.RecyclerView
+import android.view.View
+import android.view.ViewGroup
+import com.gh.common.constant.ItemViewType
+import com.gh.gamecenter.R
+import com.gh.gamecenter.adapter.viewholder.ReuseViewHolder
+import com.gh.gamecenter.baselist.ListAdapter
+import com.gh.gamecenter.databinding.GameItemBinding
+import com.gh.gamecenter.entity.GameEntity
+import com.gh.gamecenter.game.GameItemViewHolder
+
+class GameAdapter(context: Context): ListAdapter(context) {
+
+ override fun getItemViewType(position: Int): Int {
+ if (position == 0) {
+ return ItemViewType.ITEM_TOP
+ }
+ return ItemViewType.ITEM_BODY
+ }
+ override fun onCreateViewHolder(parent: ViewGroup, viewType: Int): RecyclerView.ViewHolder {
+ if (viewType == ItemViewType.ITEM_TOP) {
+ return ReuseViewHolder(mLayoutInflater.inflate(R.layout.layout_search_bar, parent, false))
+ }
+ return GameItemViewHolder(GameItemBinding.bind(mLayoutInflater.inflate(R.layout.game_item, parent, false)))
+ }
+
+ override fun getItemCount(): Int {
+ return mEntityList.size + 1
+ }
+
+ override fun onBindViewHolder(holder: RecyclerView.ViewHolder, position: Int) {
+ if (holder is GameItemViewHolder) {
+ val entity = mEntityList[position-1]
+ holder.binding.game = entity
+ holder.binding.subjectTag = "type"
+ holder.binding.downloadBtn.visibility = View.GONE
+ }
+ }
+
+}
\ No newline at end of file
diff --git a/app/src/main/java/com/gh/gamecenter/qa/editor/InsertAnswerWrapperActivity.kt b/app/src/main/java/com/gh/gamecenter/qa/editor/InsertAnswerWrapperActivity.kt
new file mode 100644
index 0000000000..88f42a40ad
--- /dev/null
+++ b/app/src/main/java/com/gh/gamecenter/qa/editor/InsertAnswerWrapperActivity.kt
@@ -0,0 +1,30 @@
+package com.gh.gamecenter.qa.editor
+
+import android.content.Context
+import android.content.Intent
+import android.os.Bundle
+import android.support.v4.app.Fragment
+import com.gh.base.BaseActivity_TabLayout
+
+class InsertAnswerWrapperActivity : BaseActivity_TabLayout() {
+
+ override fun onCreate(savedInstanceState: Bundle?) {
+ super.onCreate(savedInstanceState)
+ setNavigationTitle("插入回答")
+ }
+ override fun initFragmentList(fragments: MutableList?) {
+ fragments?.add(LinkFragment())
+ fragments?.add(AnswerFragment())
+ }
+
+ override fun initTabTitleList(tabTitleList: MutableList?) {
+ tabTitleList?.add("输入链接")
+ tabTitleList?.add("收藏回答")
+ }
+
+ companion object {
+ fun getIntent(context: Context): Intent {
+ return Intent(context, InsertAnswerWrapperActivity::class.java)
+ }
+ }
+}
\ No newline at end of file
diff --git a/app/src/main/java/com/gh/gamecenter/qa/editor/LinkFragment.kt b/app/src/main/java/com/gh/gamecenter/qa/editor/LinkFragment.kt
new file mode 100644
index 0000000000..5155959e57
--- /dev/null
+++ b/app/src/main/java/com/gh/gamecenter/qa/editor/LinkFragment.kt
@@ -0,0 +1,11 @@
+package com.gh.gamecenter.qa.editor
+
+import com.gh.base.fragment.BaseFragment
+import com.gh.gamecenter.R
+
+class LinkFragment : BaseFragment() {
+ override fun getLayoutId(): Int {
+ return R.layout.fragment_link
+ }
+
+}
\ No newline at end of file
diff --git a/app/src/main/res/layout/editor_insert_container.xml b/app/src/main/res/layout/editor_insert_container.xml
index faeb360aa3..ce6e915bea 100644
--- a/app/src/main/res/layout/editor_insert_container.xml
+++ b/app/src/main/res/layout/editor_insert_container.xml
@@ -80,6 +80,7 @@
android:orientation = "horizontal" >
+ android:visibility = "visible" />
+
+
+
+
+
+
+
+
+
\ No newline at end of file