Android解決fragment重影問題

今天主要說一下出現fragment重影的問題。
Activity 中的 onSaveInstanceState() 裏面有一句super.onSaveInstanceState(outState);,Google 對於這句話的解釋是 “Always call the superclass so it can save the view hierarchy state”,大概意思是“總是執行這句代碼來調用父類去保存視圖層的狀態”。通過註釋掉這句話,這樣主 Activity 因爲種種原因被回收的時候就不會保存之前的 fragment state,也可以成功解決重疊的問題。

注意:要把這個方法寫在你的homeActivity裏面,也就是你寫底部按鈕和加載fragment的頁面

如圖:這樣就可以解決這個問題了。

這裏寫圖片描述

//解決fragment
@SuppressLint("MissingSuperCall")
@Override
public void onSaveInstanceState(Bundle outState) {
    //如果用以下這種做法則不保存狀態,再次進來的話會顯示默認的tab
    //  super.onSaveInstanceState(outState);
}
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章