**在应用中会用到activity + fragment 的场景,一般是主页面,记录一次笔记 **
private var mIndex=0;
//----其他操作 tab_layout 这里是TabLayout
override fun onCreate(savedInstanceState: Bundle?) {
if (savedInstanceState != null) {
mIndex = savedInstanceState.getInt("currTabIndex")
}
super.onCreate(savedInstanceState)
initTab()
tab_layout.currentTab = mIndex
switchFragment(mIndex)
//----其他操作
}
另外必须要在activity异常销毁时保存数据
@SuppressLint("MissingSuperCall")
override fun onSaveInstanceState(outState: Bundle) {
// showToast("onSaveInstanceState->"+mIndex)
// super.onSaveInstanceState(outState)
//记录fragment的位置,防止崩溃 activity被系统回收时,fragment错乱
if (tab_layout != null) {
outState.putInt("currTabIndex", mIndex)
}
}