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