diff --git a/app/src/main/java/com/yizhuan/erban/home/fragment/MeFragment.kt b/app/src/main/java/com/yizhuan/erban/home/fragment/MeFragment.kt index 81ca21378..f18116117 100644 --- a/app/src/main/java/com/yizhuan/erban/home/fragment/MeFragment.kt +++ b/app/src/main/java/com/yizhuan/erban/home/fragment/MeFragment.kt @@ -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>?) { 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>?) { @@ -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() @@ -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) } diff --git a/app/src/main/java/com/yizhuan/erban/ui/widget/MainTabLayout.java b/app/src/main/java/com/yizhuan/erban/ui/widget/MainTabLayout.java index cb8b04d40..da72094db 100644 --- a/app/src/main/java/com/yizhuan/erban/ui/widget/MainTabLayout.java +++ b/app/src/main/java/com/yizhuan/erban/ui/widget/MainTabLayout.java @@ -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); } }