Fragment里面嵌套Fragment的問題


最近兩天做項目時,要在fragment里面嵌套Fragment,最開始使用Fragment的hide,show等方法一直失敗,,如圖,message是一個fragment,在里面又有兩個子fragment,(Firends和follow),后來把兩個fragment改ViewPager方式進行切換,這時一定要注意msgAdapter=new FragmentMessagePagerAdapter(getChildFragmentManager());在new PagerAdapter時,一定要傳入getChildFragmentManager(),而不是getSupportFragmentManager,

一級Fragment里的OnCreateView方法:

@Override
    public View onCreateView(LayoutInflater inflater, ViewGroup container,
                             Bundle savedInstanceState) {

        mActivity = getActivity();
        View view = inflater.inflate(R.layout.activity_fragment_message,container,false);

        Button btnFriends= (Button) view.findViewById(R.id.btn_friends);
        Button btnFollow= (Button) view.findViewById(R.id.btn_follow);
        btnFriends.setOnClickListener(this);
        btnFollow.setOnClickListener(this);

        vp = (NoScrollViewPager) view.findViewById(R.id.vp_noscroll);

        list_fragments=new ArrayList<Fragment>();

        //把兩個子fragment實例化然后裝到集合里
        mFrendsFragment=new Message_Friends_Fragment();
        list_fragments.add(mFrendsFragment);
        mFollowFragment=new Message_Follow_Fragment();
        list_fragments.add(mFollowFragment);

        msgAdapter=new FragmentMessagePagerAdapter(getChildFragmentManager());

        vp.setAdapter(msgAdapter);

        return view;
    }

之前我寫的時候,一直都是先判斷了mFrendsFragment和mFollowFragment還有msgAdapter不為空我才new,后來不需要判斷是否為空,然后我就直接new了這些對象,然后就解決了問題(暫時還沒弄懂)。建議以后Fragment進行切換時都用ViewPager切換

這里是我的GitHub地址,里面有我自己做的一些有用的Demo,適合新手學習,歡迎大家star我的項目 https://github.com/gnehsuy


免責聲明!

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



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