@@ -83,8 +83,8 @@ class MainActivity : BaseActivity() {
8383 */
8484 private fun switchFragment (position : Int ) {
8585 val transaction = supportFragmentManager.beginTransaction()
86- // hideFragments(transaction) /**/
87- showToast(supportFragmentManager.fragments.size.toString())
86+ hideFragments(transaction)
87+ // showToast(supportFragmentManager.fragments.size.toString())
8888 /* 重复进入退出视频详情页会导致fragment不断增加*/
8989// when (position) {
9090// 0 //首页
@@ -122,47 +122,55 @@ class MainActivity : BaseActivity() {
122122//
123123// }
124124// }
125- when (position){
126- 0
127- -> {
125+ when (position) {
126+ 0 // 首页
127+ -> if (mHomeFragment == null ) {
128128 var cacheMHomeFragment = supportFragmentManager.findFragmentByTag(" home" )
129129 if (cacheMHomeFragment != null ){
130- transaction.show(cacheMHomeFragment)
131- }
132- else {
133- mHomeFragment = HomeFragment .getInstance(mTitles[position])
134- transaction.add(R .id.fl_container, mHomeFragment, " home" )
130+ transaction.remove(cacheMHomeFragment)
135131 }
132+ mHomeFragment = HomeFragment .getInstance(mTitles[position])
133+ transaction.add(R .id.fl_container, mHomeFragment, " home" )
134+ } else {
135+ transaction.show(mHomeFragment)
136136 }
137- 1 -> {
137+ 1 // 发现
138+ -> if (mDiscoveryFragment == null ) {
138139 var cacheMDiscoveryFragment = supportFragmentManager.findFragmentByTag(" discovery" )
139140 if (cacheMDiscoveryFragment != null ){
140- transaction.show (cacheMDiscoveryFragment)
141+ transaction.remove (cacheMDiscoveryFragment)
141142 }
142- else {
143- mDiscoveryFragment = DiscoveryFragment .getInstance(mTitles[position])
144- transaction.add(R .id.fl_container, mDiscoveryFragment, " discovery" )
143+ mDiscoveryFragment = DiscoveryFragment .getInstance(mTitles[position])
144+ transaction.add(R .id.fl_container, mDiscoveryFragment, " discovery" )
145+ } else {
146+ transaction.show(mDiscoveryFragment)
147+ }
148+ 2 // 热门
149+ -> if ( mHotFragment == null ) {
150+ var cacheMHotFragment = supportFragmentManager.findFragmentByTag(" hot" )
151+ if (cacheMHotFragment != null ){
152+ transaction.remove(cacheMHotFragment)
145153 }
154+ mHotFragment = HotFragment .getInstance(mTitles[position])
155+ transaction.add(R .id.fl_container, mHotFragment, " hot" )
156+ }
157+ else {
158+ transaction.show(mHotFragment)
146159 }
147- 2 -> {
148- var cacheMMineFragment = supportFragmentManager.findFragmentByTag(" hot" )
160+
161+ 3 // 我的
162+ -> if (mMineFragment == null ) {
163+ var cacheMMineFragment = supportFragmentManager.findFragmentByTag(" mine" )
149164 if (cacheMMineFragment != null ){
150- transaction.show(cacheMMineFragment)
151- }
152- else {
153- mHotFragment = HotFragment .getInstance(mTitles[position])
154- transaction.add(R .id.fl_container, mHotFragment, " hot" )
165+ transaction.remove(cacheMMineFragment)
155166 }
167+ mMineFragment = MineFragment .getInstance(mTitles[position])
168+ transaction.add(R .id.fl_container, mMineFragment, " mine" )
169+ } else {
170+ transaction.show(mMineFragment)
156171 }
157- 3 -> {
158- var cacheMHotFragment = supportFragmentManager.findFragmentByTag(" mine" )
159- if (cacheMHotFragment != null ){
160- transaction.show(cacheMHotFragment)
161- }
162- else {
163- mMineFragment = MineFragment .getInstance(mTitles[position])
164- transaction.add(R .id.fl_container, mMineFragment, " mine" )
165- }
172+ else -> {
173+
166174 }
167175 }
168176 mIndex = position
@@ -190,6 +198,7 @@ class MainActivity : BaseActivity() {
190198// transaction.hide(mMineFragment)
191199// }
192200 var cacheMHomeFragment = supportFragmentManager.findFragmentByTag(" home" )
201+
193202 var cacheMDiscoveryFragment = supportFragmentManager.findFragmentByTag(" discovery" )
194203 var cacheMMineFragment = supportFragmentManager.findFragmentByTag(" hot" )
195204 var cacheMHotFragment = supportFragmentManager.findFragmentByTag(" mine" )
0 commit comments