fragment裏套viewpager然後viewpager裏再套fragment

  mTabLayout = (TabLayout) v.findViewById(R.id.tabs);
    mViewPager = (ViewPager) v.findViewById(R.id.view_pager);

    //設置它的名字
    List<String> titles = new ArrayList<>();
    titles.add("details");
    titles.add("share");
    //初始化它
    mTabLayout.addTab(mTabLayout.newTab().setText(titles.get(0)));
    mTabLayout.addTab(mTabLayout.newTab().setText(titles.get(1)));
    //初始化ViewPager的數據集
    List<Fragment> fragments = new ArrayList<>();
    fragments.add(new si1());
    fragments.add(new si2());
    FragmentAdapter adapter = new FragmentAdapter(getActivity().getSupportFragmentManager(), fragments, titles);
    mViewPager.setAdapter(adapter);
    //千萬別忘了,關聯TabLayout與ViewPager
    //同時也要覆寫PagerAdapter的getPageTitle方法,否則Tab沒有title
    mTabLayout.setupWithViewPager(mViewPager);
    mTabLayout.setTabsFromPagerAdapter(adapter);
}
一開始一直沒有顯示最小的fragment最後發現是因爲
getActivity().getSupportFragmentManager()獲取的是viewpager的付fragment
所以應該使用
getChildFragmentManager()獲取viewpager裏的faagment(就是最小的fragment)才能顯示
就是這麼簡單

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章