Compare commits
1 Commits
legacy-rel
...
feature-GH
| Author | SHA1 | Date | |
|---|---|---|---|
| d9731a92c5 |
@ -9,6 +9,7 @@ import android.widget.ImageView
|
||||
import android.widget.LinearLayout
|
||||
import androidx.recyclerview.widget.LinearLayoutManager
|
||||
import androidx.recyclerview.widget.RecyclerView
|
||||
import androidx.recyclerview.widget.RecyclerView.RecycledViewPool
|
||||
import androidx.recyclerview.widget.RecyclerView.ViewHolder
|
||||
import com.gh.common.constant.Config
|
||||
import com.gh.common.databind.BindingAdapters
|
||||
@ -95,6 +96,10 @@ class GameFragmentAdapter(
|
||||
|
||||
private var mTopViewExposureEventList: ArrayList<ExposureEvent>? = null
|
||||
|
||||
private val mHorizontalSlideRecycledViewPool by lazy {
|
||||
RecycledViewPool()
|
||||
}
|
||||
|
||||
fun setItemDataList(itemDataList: MutableList<GameItemData>) {
|
||||
val currentSize = mItemDataList.size
|
||||
mItemDataList = itemDataList.toMutableList()
|
||||
@ -574,7 +579,8 @@ class GameFragmentAdapter(
|
||||
|
||||
private fun bindGameHorizontalSlideListView(holder: GameHorizontalSlideListViewHolder, position: Int) {
|
||||
val subjectEntity = mItemDataList[position].horizontalSlide
|
||||
val subjectAdapter = holder.bindHorizontalSlideList(subjectEntity!!, mViewModel)
|
||||
val subjectAdapter =
|
||||
holder.bindHorizontalSlideList(subjectEntity!!, mViewModel, mHorizontalSlideRecycledViewPool)
|
||||
|
||||
subjectEntity.data?.let {
|
||||
val positionOffset = subjectAdapter.getIndex()
|
||||
|
||||
@ -4,8 +4,8 @@ import android.view.View
|
||||
import android.view.ViewGroup
|
||||
import androidx.constraintlayout.widget.ConstraintLayout
|
||||
import androidx.recyclerview.widget.DefaultItemAnimator
|
||||
import androidx.recyclerview.widget.LinearLayoutManager
|
||||
import androidx.recyclerview.widget.RecyclerView
|
||||
import androidx.recyclerview.widget.RecyclerView.RecycledViewPool
|
||||
import com.gh.gamecenter.common.base.BaseRecyclerViewHolder
|
||||
import com.gh.gamecenter.core.iinterface.IOffsetable
|
||||
import com.gh.gamecenter.core.utils.TimeUtils
|
||||
@ -26,7 +26,8 @@ class GameHorizontalSlideListViewHolder(val binding: GameHorizontalListBinding)
|
||||
|
||||
fun bindHorizontalSlideList(
|
||||
subjectEntity: SubjectEntity,
|
||||
offsetable: IOffsetable
|
||||
offsetable: IOffsetable,
|
||||
recycledViewPool: RecycledViewPool? = null
|
||||
): GameHorizontalSlideAdapter {
|
||||
val context = binding.root.context
|
||||
var subjectAdapter = binding.recyclerView.adapter
|
||||
@ -40,6 +41,9 @@ class GameHorizontalSlideListViewHolder(val binding: GameHorizontalListBinding)
|
||||
binding.recyclerView.adapter = subjectAdapter
|
||||
binding.recyclerView.setScrollingTouchSlop(RecyclerView.TOUCH_SLOP_PAGING)
|
||||
binding.recyclerView.isNestedScrollingEnabled = false
|
||||
if (recycledViewPool != null) {
|
||||
binding.recyclerView.setRecycledViewPool(recycledViewPool)
|
||||
}
|
||||
|
||||
if (subjectEntity.data?.firstOrNull()?.test?.testTime != null && mLastScrolledPosition == 0) {
|
||||
scrollToSpecificItemForTheFirstTime(subjectEntity)
|
||||
|
||||
Reference in New Issue
Block a user