回覆列表
  • 1 # 使用者8461021162376

    底部用RadioGroup控制fragment的切換。以上有五個fragment。

    第一個fragment,代表著首頁。首頁又是一個類似tab的fragment,使用viewpager切換著兩個fragment。

    private void InitViewPager(View parentView) {

    mPager = (ViewPager) parentView.findViewById(R.id.vPager);

    fragmentsList = new ArrayList

    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());

  • 中秋節和大豐收的關聯?
  • 刺痛的心靈原唱?