@@ -36,7 +36,7 @@ class MainActivity : BaseActivity() {
3636 private var mHomeFragment: HomeFragment ? = null
3737 private var mDiscoveryFragment: DiscoveryFragment ? = null
3838 private var mHotFragment: HotFragment ? = null
39- private var mMineFragment: MineFragment ? = null
39+ private var mMineFragment: MineFragment ? = null
4040
4141 // 默认为0
4242 private var mIndex = 0
@@ -58,7 +58,6 @@ class MainActivity : BaseActivity() {
5858 }
5959
6060
61-
6261 // 初始化底部菜单
6362 private fun initTab () {
6463 (0 until mTitles.size)
@@ -84,40 +83,33 @@ class MainActivity : BaseActivity() {
8483 private fun switchFragment (position : Int ) {
8584 val transaction = supportFragmentManager.beginTransaction()
8685 hideFragments(transaction)
87- showToast(supportFragmentManager.fragments.size.toString())
88- /* 重复进入退出视频详情页会导致fragment不断增加*/
8986 when (position) {
90- 0 // 首页
91- -> if (mHomeFragment == null ) {
92-
93- mHomeFragment = HomeFragment .getInstance(mTitles[position])
94- transaction.add(R .id.fl_container, mHomeFragment, " home" )
95- } else {
96- transaction.show(mHomeFragment)
97- }
98- 1 // 发现
99- -> if (mDiscoveryFragment == null ) {
100- mDiscoveryFragment = DiscoveryFragment .getInstance(mTitles[position])
101- transaction.add(R .id.fl_container, mDiscoveryFragment, " discovery" )
102- } else {
103- transaction.show(mDiscoveryFragment)
87+ 0 // 首页
88+ -> mHomeFragment?.let {
89+ transaction.show(it)
90+ } ? : HomeFragment .getInstance(mTitles[position]).let {
91+ mHomeFragment = it
92+ transaction.add(R .id.fl_container, it, " home" )
10493 }
105- 2 // 热门
106- -> if ( mHotFragment == null ) {
107- mHotFragment = HotFragment .getInstance(mTitles[position])
108- transaction.add(R .id.fl_container, mHotFragment, " hot" )
109- }
110- else {
111- transaction.show(mHotFragment)
112- }
113-
94+ 1 // 发现
95+ -> mDiscoveryFragment?.let {
96+ transaction.show(it)
97+ } ? : DiscoveryFragment .getInstance(mTitles[position]).let {
98+ mDiscoveryFragment = it
99+ transaction.add(R .id.fl_container, it, " discovery" ) }
100+ 2 // 热门
101+ -> mHotFragment?.let {
102+ transaction.show(it)
103+ } ? : HotFragment .getInstance(mTitles[position]).let {
104+ mHotFragment = it
105+ transaction.add(R .id.fl_container, it, " hot" ) }
114106 3 // 我的
115- -> if ( mMineFragment == null ) {
116- mMineFragment = MineFragment .getInstance(mTitles[position] )
117- transaction.add( R .id.fl_container, mMineFragment, " mine " )
118- } else {
119- transaction.show(mMineFragment)
120- }
107+ -> mMineFragment?. let {
108+ transaction.show(it )
109+ } ? : MineFragment .getInstance(mTitles[position]). let {
110+ mMineFragment = it
111+ transaction.add( R .id.fl_container, it, " mine " ) }
112+
121113 else -> {
122114
123115 }
@@ -134,19 +126,10 @@ class MainActivity : BaseActivity() {
134126 * @param transaction transaction
135127 */
136128 private fun hideFragments (transaction : FragmentTransaction ) {
137- if (null != mHomeFragment) {
138- transaction.hide(mHomeFragment)
139- }
140- if (null != mDiscoveryFragment) {
141- transaction.hide(mDiscoveryFragment)
142- }
143- if (null != mHotFragment) {
144- transaction.hide(mHotFragment)
145- }
146- if (null != mMineFragment) {
147- transaction.hide(mMineFragment)
148- }
149-
129+ mHomeFragment?.let { transaction.hide(it) }
130+ mDiscoveryFragment?.let { transaction.hide(it) }
131+ mHotFragment?.let { transaction.hide(it) }
132+ mMineFragment?.let { transaction.hide(it) }
150133 }
151134
152135
@@ -166,6 +149,7 @@ class MainActivity : BaseActivity() {
166149 override fun initData () {
167150
168151 }
152+
169153 override fun start () {
170154
171155 }
@@ -186,5 +170,4 @@ class MainActivity : BaseActivity() {
186170 }
187171
188172
189-
190173}
0 commit comments