我的页面刷新逻辑优化

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

View File

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