Skip to content

Commit 656d875

Browse files
author
iamsee
committed
修复重复增加Fragment,注释调试代码
1 parent 5df51b3 commit 656d875

File tree

1 file changed

+40
-31
lines changed

1 file changed

+40
-31
lines changed

app/src/main/java/com/hazz/kotlinmvp/ui/activity/MainActivity.kt

Lines changed: 40 additions & 31 deletions
Original file line numberDiff line numberDiff line change
@@ -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

Comments
 (0)