缓存清除后,Android FragmentPagerAdapter显示为空

时间:2013-10-07 06:33:22

标签: android fragment fragmentpageradapter

我制作了FragmentPagerAdapter

有一个有寻呼机的片段。

寻呼机显示3个片段,效果很好。

但是,应用程序缓存清除后,

(这意味着......很长一段时间已经过了应用服务背景)

仅显示寻呼机且3个片段具有空布局(空白区域)。

结果检查Log,我发现了一些问题......

清除缓存后,SectionsPagerAdapter()结构称为

从不调用getItem()方法。

请帮帮我

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;
        }
    }

0 个答案:

没有答案