我在 a 上有以下導航 xml BottomNavigationView,但是當用戶在第一個片段內導航,然后使用 導航到另一個片段BottomNavigationView然后回傳到初始片段時,它會一直重置為默認的第一個片段,導航到更深片段不存在,我認為這是因為片段被重新創建,并且從我在其他問題上看到的內容來看,有一種方法可以保存資料以重新設定文本欄位或類似內容上的任何文本值,但是我還沒有看到是否有辦法避免片段被破壞和重新創建,以便使導航和用戶之前對視圖所做的任何更改保持不變。
有沒有辦法做到這一點,或者我應該savedInstance以重新導航到先前導航的片段的方式使用 a ?

uj5u.com熱心網友回復:
部分導航2.4.0是支持多回堆疊-即保存其狀態,恢復該狀態,當你重新選擇該選項卡的能力底部導航欄的每個選項卡。
根據那篇博文:
如果您正在使用
NavigationUI,我們用于將您的 NavController 連接到 Material 視圖組件的一組自以為是的幫助器,您會發現默認情況下為選單項啟用了多個回傳堆疊,BottomNavigationView(現在是NavigationRailView!),和NavigationView。這意味著 usingnavigation-fragment和的常見組合navigation-ui將起作用。
這意味著如果您正在使用這些setupWithNavController方法,那么升級到 Navigation 2.4 將立即為您提供對多個回傳堆疊的支持。您可以通過轉到您的訂單片段(從而在第一個選項卡上構建一個回傳堆疊),轉到另一個選項卡,然后再次點擊第一個選項卡以重新選擇它來驗證這一點。
當然,保存和恢復的是您的片段狀態,而不是實體本身。這意味著每個單獨的片段仍必須正確保存其狀態。
轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/342714.html
