referece to : http://blog.csdn.net/mybook1122/article/details/24003343
現在好多應用流行一種布局。底部幾個工具欄選項,上面也有類似tab的選項。

底部用RadioGroup控制fragment的切換。以上有五個fragment。
第一個fragment,代表着首頁。首頁又是一個類似tab的fragment,使用viewpager切換着兩個fragment。
private void InitViewPager(View parentView) {
mPager = (ViewPager) parentView.findViewById(R.id.vPager);
fragmentsList = new ArrayList<Fragment>();
fragment1 = new SortHotFragment();
fragment2 = new SortNewFragment();
fragmentsList.add(fragment1);
fragmentsList.add(fragment2);
mPager.setAdapter(new MyFragmentPagerAdapter(getActivity().getSupportFragmentManager(), fragmentsList));
mPager.setCurrentItem(0);
mPager.setOnPageChangeListener(new MyOnPageChangeListener());
}
一般根據往常的經驗,如果要傳入fragmentmanager,都是紅色字體部分。
但是,這樣會導致一個問題:數據丟失。
在fragment切換來回時,其他單個的fragment里面的數據不會丟失,而使用了viewpager的多個fragment切換的fragment會一團漆黑。
解決辦法:
將紅色字體部分,用getChildFragmentManager() 替換。
mPager.setAdapter(new MyFragmentPagerAdapter(getActivity().getChildFragmentManager(), fragmentsList));
mPager.setCurrentItem(0);
mPager.setOnPageChangeListener(new MyOnPageChangeListener());
之前一直在忙,才發現很多網友留言請求代碼,非常抱歉。現在寫了一個簡單的demo,現將下載地址貼在下面。
下載地址:http://download.csdn.net/download/mybook1122/7657137
