ViewPager-Fragmente verschwinden, wenn die Bildschirmdrehung geändert wird

Ich arbeite an Android-Anwendung, die enthältViewPager mitFragments, wie folgt:

MainActivity(MainActivityFragment(screenSlideViewPager(Fragments))), was bedeutet:

Activity enthält Fragment enthält ViewPager enthält Fragments

Jetzt ist mein Problem, wenn ich das Gerät drehe oder die Bildschirmdrehung ändere, verschwinden alle Fragmente in ViewPager.

Irgendwelche Ideen, um dieses Problem zu lösen?

EDIT 1

MainActivity.java:

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);

    if (getSupportFragmentManager().findFragmentByTag(TAG) == null) {
        final FragmentTransaction ft = getSupportFragmentManager()
                .beginTransaction();
        ft.add(android.R.id.content, new MainActivityFragment(), TAG);
        ft.commit();
    }
}

MainActivityFragment.java:

public class MainActivityFragment extends Fragment {
    private ViewPager mPager = null;
    private PagerAdapter mPageAdapter = null;

    @Override
    public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
        final View reVal = inflater.inflate(R.layout.activity_main, container, false);
        mPager = (ViewPager) reVal.findViewById(R.id.pagerMainContent);
        mPageAdapter = new ScreenSlidePagerAdapter(getActivity().getFragmentManager());
        mPager.setAdapter(mPageAdapter);
        return reVal;
    }

    private MainGridViewFragment mainGridFragment;
    private AlphabetGridViewFragment alphabetGridFragment;

    private class ScreenSlidePagerAdapter extends FragmentStatePagerAdapter {
        public ScreenSlidePagerAdapter(FragmentManager fm) {
            super(fm);
        }

        @Override
        public android.app.Fragment getItem(int position) {
            switch (position) {
                case 1:
                    mainGridFragment = new MainGridViewFragment();
                    return mainGridFragment;
                case 0:
                    alphabetGridFragment = new AlphabetGridViewFragment();
                    return alphabetGridFragment;
                default:
                    return null;
            }
        }

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

BEARBEITEN 2

OffensichtlichMainActivity undMainActivityFragment geladen sind, und der Beweis ist dieActionBar, beachte auch dasViewPager wird ebenfalls geladen, da Sie immer noch zwischen den Seiten navigieren können (das blaue Licht bedeutet, dass der Pager die letzte Seite erreicht hat), aber den Inhalt nicht sehen können.

Antworten auf die Frage(7)

Ihre Antwort auf die Frage