From ad2a0debdd33ab8764937a68d4e15401a67911d0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=BC=A0=E7=8E=89=E4=B9=85?= <1484288157@qq.com> Date: Mon, 24 Aug 2020 09:56:30 +0800 Subject: [PATCH] =?UTF-8?q?=E8=AE=BA=E5=9D=9B=E5=88=97=E8=A1=A8=E6=95=B0?= =?UTF-8?q?=E6=8D=AE=E5=90=8C=E6=AD=A5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../forum/detail/ForumArticleAskListAdapter.kt | 9 ++++++++- .../forum/detail/ForumArticleAskListFragment.kt | 10 ++++++++-- .../gamecenter/forum/home/ForumArticleListFragment.kt | 10 ++++++++-- 3 files changed, 24 insertions(+), 5 deletions(-) diff --git a/app/src/main/java/com/gh/gamecenter/forum/detail/ForumArticleAskListAdapter.kt b/app/src/main/java/com/gh/gamecenter/forum/detail/ForumArticleAskListAdapter.kt index f4bf63d20c..8fcba7e0c9 100644 --- a/app/src/main/java/com/gh/gamecenter/forum/detail/ForumArticleAskListAdapter.kt +++ b/app/src/main/java/com/gh/gamecenter/forum/detail/ForumArticleAskListAdapter.kt @@ -7,6 +7,7 @@ import androidx.core.content.ContextCompat import androidx.recyclerview.widget.RecyclerView import com.gh.base.BaseActivity import com.gh.common.constant.ItemViewType +import com.gh.common.syncpage.ISyncAdapterHandler import com.gh.common.util.MtaHelper import com.gh.common.util.dip2px import com.gh.gamecenter.R @@ -22,7 +23,7 @@ import com.gh.gamecenter.qa.entity.AnswerEntity import com.gh.gamecenter.qa.entity.Questions import com.gh.gamecenter.qa.questions.detail.QuestionsDetailActivity -class ForumArticleAskListAdapter(context: Context, val bbsId: String, val mEntrance: String, val path: String) : ListAdapter(context) { +class ForumArticleAskListAdapter(context: Context, val bbsId: String, val mEntrance: String, val path: String) : ListAdapter(context), ISyncAdapterHandler { override fun areItemsTheSame(oldItem: AnswerEntity?, newItem: AnswerEntity?): Boolean { return oldItem?.id == newItem?.id @@ -85,4 +86,10 @@ class ForumArticleAskListAdapter(context: Context, val bbsId: String, val mEntra } } } + + override fun getSyncData(position: Int): Pair? { + if (position >= mEntityList.size) return null + val entity = mEntityList[position] + return Pair(entity.id?:"", entity) + } } \ No newline at end of file diff --git a/app/src/main/java/com/gh/gamecenter/forum/detail/ForumArticleAskListFragment.kt b/app/src/main/java/com/gh/gamecenter/forum/detail/ForumArticleAskListFragment.kt index 05972b7e46..6495f40873 100644 --- a/app/src/main/java/com/gh/gamecenter/forum/detail/ForumArticleAskListFragment.kt +++ b/app/src/main/java/com/gh/gamecenter/forum/detail/ForumArticleAskListFragment.kt @@ -19,7 +19,7 @@ import org.greenrobot.eventbus.EventBus class ForumArticleAskListFragment : ListFragment() { - private var mAdapter: ForumArticleAskListAdapter? = null + private lateinit var mAdapter: ForumArticleAskListAdapter private var mViewModel: ForumArticleAskListViewModel? = null private var mPath = "" private var bbsId: String = "" @@ -59,8 +59,10 @@ class ForumArticleAskListFragment : ListFragment { + if (!::mAdapter.isInitialized) { + mAdapter = ForumArticleAskListAdapter(requireContext(), bbsId, mEntrance, mPath) + } return mAdapter - ?: ForumArticleAskListAdapter(requireContext(), bbsId, mEntrance, mPath).apply { mAdapter = this } } override fun getItemDecoration(): RecyclerView.ItemDecoration { @@ -69,4 +71,8 @@ class ForumArticleAskListFragment : ListFragment { + if (!::mAdapter.isInitialized) { + mAdapter = ForumArticleListAdapter(requireContext(), mEntrance, mPath) + } return mAdapter - ?: ForumArticleListAdapter(requireContext(), mEntrance, mPath).apply { mAdapter = this } } fun onRefresh(filter: String) { @@ -136,4 +138,8 @@ class ForumArticleListFragment : ListFragment