新增appendList
This commit is contained in:
parent
4de5c22139
commit
38682f7815
|
|
@ -51,6 +51,7 @@ class HomeFragment : AppViewsFragment<ViewBinding, UiState, ViewModel>(), OnSwit
|
|||
override fun ViewBinding.initViews() {
|
||||
viewPager2.setPageTransformer { _, _ -> }
|
||||
viewPager2.offscreenPageLimit = 1
|
||||
viewPager2.adapter = mViewPagerAdapter
|
||||
}
|
||||
|
||||
override fun ViewBinding.initListeners() {
|
||||
|
|
@ -86,7 +87,8 @@ class HomeFragment : AppViewsFragment<ViewBinding, UiState, ViewModel>(), OnSwit
|
|||
}
|
||||
|
||||
override fun ViewBinding.onUiStateCollect(uiState: UiState) {
|
||||
viewPager2.setDataOrAdapter(uiState.playLists, 1) { mViewPagerAdapter }
|
||||
mViewPagerAdapter.appendList(uiState.playLists)
|
||||
//viewPager2.setDataOrAdapter(uiState.playLists, 1) { mViewPagerAdapter }
|
||||
}
|
||||
|
||||
override fun onResume() {
|
||||
|
|
|
|||
|
|
@ -55,6 +55,15 @@ abstract class BaseFragmentStateAdapter<T : BaseFragmentStateDiffItem>(
|
|||
mDiffer.submitList(list)
|
||||
}
|
||||
|
||||
fun appendList(appendList: List<T>?) {
|
||||
val newList = mutableListOf<T>()
|
||||
newList.addAll(getCurrentList())
|
||||
appendList?.let {
|
||||
newList.addAll(appendList)
|
||||
}
|
||||
mDiffer.submitList(newList)
|
||||
}
|
||||
|
||||
fun getFragmentByIndex(position: Int) =
|
||||
if (position in 0..<itemCount) fragmentManager.findFragmentByTag("f" + getItemId(position)) else null
|
||||
|
||||
|
|
|
|||
|
|
@ -2,8 +2,8 @@ package com.ama.core.architecture.util
|
|||
|
||||
import androidx.viewpager2.widget.ViewPager2
|
||||
import com.ama.core.architecture.base.views.adapter.BaseFragmentStateAdapter
|
||||
import com.ama.core.model.BaseFragmentStateDiffItem
|
||||
import com.ama.core.common.util.asUnsafe
|
||||
import com.ama.core.model.BaseFragmentStateDiffItem
|
||||
import kotlin.collections.isNullOrEmpty
|
||||
|
||||
|
||||
|
|
|
|||
|
|
@ -1,5 +1,6 @@
|
|||
package com.ama.core.model
|
||||
|
||||
import com.ama.core.model.BaseDiffItem
|
||||
|
||||
interface BaseFragmentStateDiffItem : BaseDiffItem {
|
||||
fun getItemId(): Long
|
||||
|
|
|
|||
Loading…
Reference in New Issue