我的页面刷新逻辑优化

This commit is contained in:
huangjian
2022-08-05 15:11:38 +08:00
parent 617d1ddd23
commit d2f749917e
2 changed files with 23 additions and 17 deletions

View File

@@ -85,6 +85,9 @@ class MeFragment : BaseFragment(), View.OnClickListener {
private val homeViewModel: HomeViewModel by activityViewModels() private val homeViewModel: HomeViewModel by activityViewModels()
private val vipViewModel: VipViewModel by viewModels() private val vipViewModel: VipViewModel by viewModels()
private var newUserDisposable: Disposable? = null private var newUserDisposable: Disposable? = null
private var centerIndex = 0
private var gameIndex = 0
override fun getRootLayoutId(): Int { override fun getRootLayoutId(): Int {
return R.layout.fragment_me return R.layout.fragment_me
} }
@@ -125,10 +128,24 @@ class MeFragment : BaseFragment(), View.OnClickListener {
} }
} }
mBinding.viewPagerGame.addOnPageChangeListener(object : OnPageSelectedListener() {
override fun onPageSelected(position: Int) {
gameIndex = position
mBinding.magicIndicatorGame.setSelectedPage(position)
}
})
meViewModel.gameInfoListLiveData.observe(viewLifecycleOwner) { meViewModel.gameInfoListLiveData.observe(viewLifecycleOwner) {
setGameInfoData(it) setGameInfoData(it)
} }
mBinding.viewPagerEntrance.addOnPageChangeListener(object : OnPageSelectedListener() {
override fun onPageSelected(position: Int) {
centerIndex = position
mBinding.magicIndicatorEntrance.setSelectedPage(position)
}
})
meViewModel.meCenterInfoLiveData.observe(viewLifecycleOwner) { meViewModel.meCenterInfoLiveData.observe(viewLifecycleOwner) {
setCenterInfoData(it) setCenterInfoData(it)
} }
@@ -178,6 +195,7 @@ class MeFragment : BaseFragment(), View.OnClickListener {
} }
private fun setCenterInfoData(pagerList: List<List<MeCenterInfo>>?) { private fun setCenterInfoData(pagerList: List<List<MeCenterInfo>>?) {
if (pagerList.isNullOrEmpty()) { if (pagerList.isNullOrEmpty()) {
mBinding.llSettingEntrance.isVisible = false mBinding.llSettingEntrance.isVisible = false
@@ -185,7 +203,7 @@ class MeFragment : BaseFragment(), View.OnClickListener {
} }
mBinding.llSettingEntrance.isVisible = true mBinding.llSettingEntrance.isVisible = true
mBinding.magicIndicatorEntrance.initIndicator(pagerList.size) mBinding.magicIndicatorEntrance.initIndicator(pagerList.size)
mBinding.magicIndicatorEntrance.setSelectedPage(0) mBinding.magicIndicatorEntrance.setSelectedPage(centerIndex)
mBinding.magicIndicatorEntrance.visibility = mBinding.magicIndicatorEntrance.visibility =
if (pagerList.size > 1) View.VISIBLE else View.INVISIBLE if (pagerList.size > 1) View.VISIBLE else View.INVISIBLE
mBinding.viewPagerEntrance.adapter = object : PagerAdapter() { mBinding.viewPagerEntrance.adapter = object : PagerAdapter() {
@@ -227,13 +245,7 @@ class MeFragment : BaseFragment(), View.OnClickListener {
container.removeView(recyclerView) container.removeView(recyclerView)
} }
} }
mBinding.viewPagerEntrance.addOnPageChangeListener(object : OnPageSelectedListener() { mBinding.viewPagerEntrance.setCurrentItem(centerIndex, false)
override fun onPageSelected(position: Int) {
if (pagerList.size > 1) {
mBinding.magicIndicatorEntrance.setSelectedPage(position)
}
}
})
} }
private fun setGameInfoData(pagerList: List<List<GameInfo>>?) { private fun setGameInfoData(pagerList: List<List<GameInfo>>?) {
@@ -243,7 +255,7 @@ class MeFragment : BaseFragment(), View.OnClickListener {
} }
mBinding.llGame.isVisible = true mBinding.llGame.isVisible = true
mBinding.magicIndicatorGame.initIndicator(pagerList.size) mBinding.magicIndicatorGame.initIndicator(pagerList.size)
mBinding.magicIndicatorGame.setSelectedPage(0) mBinding.magicIndicatorGame.setSelectedPage(gameIndex)
mBinding.magicIndicatorGame.visibility = mBinding.magicIndicatorGame.visibility =
if (pagerList.size > 1) View.VISIBLE else View.INVISIBLE if (pagerList.size > 1) View.VISIBLE else View.INVISIBLE
val cacheItemView = SparseArray<RecyclerView>() val cacheItemView = SparseArray<RecyclerView>()
@@ -286,13 +298,7 @@ class MeFragment : BaseFragment(), View.OnClickListener {
container.removeView(recyclerView) container.removeView(recyclerView)
} }
} }
mBinding.viewPagerGame.addOnPageChangeListener(object : OnPageSelectedListener() { mBinding.viewPagerGame.setCurrentItem(gameIndex, false)
override fun onPageSelected(position: Int) {
if (pagerList.size > 1) {
mBinding.magicIndicatorGame.setSelectedPage(position)
}
}
})
} }

View File

@@ -156,7 +156,7 @@ public class MainTabLayout extends LinearLayout implements View.OnClickListener
meNumber = count; meNumber = count;
MainRedPointTab pointTab = findTabInfoByType(MainTabType.TAB_TYPE_ME); MainRedPointTab pointTab = findTabInfoByType(MainTabType.TAB_TYPE_ME);
if (pointTab != null) { if (pointTab != null) {
pointTab.setNumber(count); //pointTab.setNumber(count);
} }
} }