簡體   English   中英

ViewPager2 中的片段在返回父片段時被重新創建

[英]fragments inside ViewPager2 are recreated when coming back to parent fragment

我的一個片段中有一個ViewPager2 (我們稱之為片段 A)。 viewpager 使用FragmentStateAdapter創建許多片段作為子片段(我們稱這些片段為children片段)。 當用戶單擊片段 A 中的按鈕時,我將其替換為片段 B。

現在當用戶點擊設備后退按鈕回到片段A時,我可以看到系統自動恢復了孩子(他們沒有在viewpager中顯示,但是他們的onCreateView方法被調用並且保存的包被傳遞到他們)。 如何避免這種行為。 我不希望孩子被自動重新創建和恢復。

在你的 onCreateView 方法中試試這個:

if(view ==null)
{
       //your oncreate view code
 }

簡而言之,ViewPager 保留了一個內部項目列表(表示“頁面”)。 此列表中的項目數基於 mOffScreenPageLimit 值。 默認情況下它設置為 1,但您可以通過調用 setOffscreenPageLimit(int limit) 來更改它。 例如:

viewpager.offscreenPageLimit = 3

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM