referece to : http://blog.csdn.net/mybook1122/article/details/24003343工具
如今好多應用流行一種佈局。底部幾個工具欄選項,上面也有相似tab的選項。佈局
底部用RadioGroup控制fragment的切換。以上有五個fragment。字體
第一個fragment,表明着首頁。首頁又是一個相似tab的fragment,使用viewpager切換着兩個fragment。spa
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());
}
.net
通常根據往常的經驗,若是要傳入fragmentmanager,都是紅色字體部分。blog
可是,這樣會致使一個問題:數據丟失。get
在fragment切換來回時,其餘單個的fragment裏面的數據不會丟失,而使用了viewpager的多個fragment切換的fragment會一團漆黑。it
解決辦法:io
將紅色字體部分,用getChildFragmentManager() 替換。List
mPager.setAdapter(new MyFragmentPagerAdapter(getActivity().getChildFragmentManager(), fragmentsList));
mPager.setCurrentItem(0);
mPager.setOnPageChangeListener(new MyOnPageChangeListener());
以前一直在忙,才發現不少網友留言請求代碼,很是抱歉。如今寫了一個簡單的demo,現將下載地址貼在下面。