diff --git a/app/src/main/java/com/gamedog/vididin/main/fragments/HomeFragment.kt b/app/src/main/java/com/gamedog/vididin/main/fragments/HomeFragment.kt index 86e6f1a..a662919 100644 --- a/app/src/main/java/com/gamedog/vididin/main/fragments/HomeFragment.kt +++ b/app/src/main/java/com/gamedog/vididin/main/fragments/HomeFragment.kt @@ -51,6 +51,7 @@ class HomeFragment : AppViewsFragment(), OnSwit override fun ViewBinding.initViews() { viewPager2.setPageTransformer { _, _ -> } viewPager2.offscreenPageLimit = 1 + viewPager2.adapter = mViewPagerAdapter } override fun ViewBinding.initListeners() { @@ -86,7 +87,8 @@ class HomeFragment : AppViewsFragment(), 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() { diff --git a/core/architecture/src/main/java/com/ama/core/architecture/base/views/adapter/BaseFragmentStateAdapter.kt b/core/architecture/src/main/java/com/ama/core/architecture/base/views/adapter/BaseFragmentStateAdapter.kt index ee7e1c0..d959966 100644 --- a/core/architecture/src/main/java/com/ama/core/architecture/base/views/adapter/BaseFragmentStateAdapter.kt +++ b/core/architecture/src/main/java/com/ama/core/architecture/base/views/adapter/BaseFragmentStateAdapter.kt @@ -55,6 +55,15 @@ abstract class BaseFragmentStateAdapter( mDiffer.submitList(list) } + fun appendList(appendList: List?) { + val newList = mutableListOf() + newList.addAll(getCurrentList()) + appendList?.let { + newList.addAll(appendList) + } + mDiffer.submitList(newList) + } + fun getFragmentByIndex(position: Int) = if (position in 0..