ViewPager中Fragment切換過程不被銷毀的方法


背景:最近在寫一個音樂播放器,然后一個ViewPager里面加載了四個Fragment,但是在切換過程中發現,Fragment總是被銷毀,在網上查了一下,發現有兩種辦法可以保證Fragment不被銷毀,保持切換前的狀態。

方法一:只需要一行代碼pager.setOffscreenPageLimit(3); 【這個網上很多博客都用提到過,沒有用過】

方法二【驗證OK】:

在Fragment的onCreateView方法中,做如下處理:

    private View parentView;
    @Override
    public View onCreateView(LayoutInflater inflater, ViewGroup container,
                             Bundle savedInstanceState) {
        if (parentView == null) {
            parentView = inflater.inflate(R.layout.fragment_singer, container, false);
        //在這里做一些初始化處理
        initChoiceLayout();
        } else {
            ViewGroup viewGroup = (ViewGroup) parentView.getParent();
            if (viewGroup != null)
                viewGroup.removeView(parentView);
        }
        return parentView;
    }

這樣子就OK了。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM