新增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() {
|
override fun ViewBinding.initViews() {
|
||||||
viewPager2.setPageTransformer { _, _ -> }
|
viewPager2.setPageTransformer { _, _ -> }
|
||||||
viewPager2.offscreenPageLimit = 1
|
viewPager2.offscreenPageLimit = 1
|
||||||
|
viewPager2.adapter = mViewPagerAdapter
|
||||||
}
|
}
|
||||||
|
|
||||||
override fun ViewBinding.initListeners() {
|
override fun ViewBinding.initListeners() {
|
||||||
|
|
@ -86,7 +87,8 @@ class HomeFragment : AppViewsFragment<ViewBinding, UiState, ViewModel>(), OnSwit
|
||||||
}
|
}
|
||||||
|
|
||||||
override fun ViewBinding.onUiStateCollect(uiState: UiState) {
|
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() {
|
override fun onResume() {
|
||||||
|
|
|
||||||
|
|
@ -55,6 +55,15 @@ abstract class BaseFragmentStateAdapter<T : BaseFragmentStateDiffItem>(
|
||||||
mDiffer.submitList(list)
|
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) =
|
fun getFragmentByIndex(position: Int) =
|
||||||
if (position in 0..<itemCount) fragmentManager.findFragmentByTag("f" + getItemId(position)) else null
|
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 androidx.viewpager2.widget.ViewPager2
|
||||||
import com.ama.core.architecture.base.views.adapter.BaseFragmentStateAdapter
|
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.common.util.asUnsafe
|
||||||
|
import com.ama.core.model.BaseFragmentStateDiffItem
|
||||||
import kotlin.collections.isNullOrEmpty
|
import kotlin.collections.isNullOrEmpty
|
||||||
|
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -1,5 +1,6 @@
|
||||||
package com.ama.core.model
|
package com.ama.core.model
|
||||||
|
|
||||||
|
import com.ama.core.model.BaseDiffItem
|
||||||
|
|
||||||
interface BaseFragmentStateDiffItem : BaseDiffItem {
|
interface BaseFragmentStateDiffItem : BaseDiffItem {
|
||||||
fun getItemId(): Long
|
fun getItemId(): Long
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue