1

I make a FragmentPagerAdapter

There is a fragment which has a pager.

And the pager show 3 fragments and it works well.

But, After application cache clearing,

(It means... long time has passed application service backgrounded)

only pager showing up and 3 fragments have empty layout (white space).

As a result checking Log, I caught some problem lines...

After clearing cache, SectionsPagerAdapter() constructure called then

getItem() method never called.

Please Help me

public class ReviewFragment extends SherlockFragment {

    private SectionsPagerAdapter mSectionsPagerAdapter;

    private ViewPager mViewPager;

    @Override
    public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
        View rootView = inflater.inflate(R.layout.review_fragment, container, false);
        return rootView;
    }

    @Override
    public void onActivityCreated(Bundle savedInstanceState) {
        super.onActivityCreated(savedInstanceState);
        if (savedInstanceState == null) {

            mSectionsPagerAdapter = new SectionsPagerAdapter(getActivity().getSupportFragmentManager());

            mViewPager = (ViewPager) getActivity().findViewById(R.id.pager);
            mViewPager.setAdapter(mSectionsPagerAdapter);
        }
    }

    public class SectionsPagerAdapter extends FragmentPagerAdapter {

        public SectionsPagerAdapter(FragmentManager fm) {
            super(fm);
        }

        @Override
        public Fragment getItem(int position) {
            if (position == 0) {
                return new BFragment();
            } else {
                return new CFragment();
            }
        }

        @Override
        public int getCount() {
            return 2;
        }

        @Override
        public CharSequence getPageTitle(int position) {
            switch (position) {
            case 0:
                return "1";
            case 1:
                return "2";
            }
            return null;
        }
    }
4

0 回答 0