Фрагменты ViewPager исчезают при изменении поворота экрана
я работаю на Android-приложение, которое содержитViewPager
сFragment
с, вот так: (((
MainActivity
MainActivityFragment
screenSlideViewPager
Fragment
s))), что означает:
Activity
содержит Fragment
содержит ViewPager
содержит sFragment
Теперь моя проблема заключается в том, что при повороте устройства или изменении поворота экрана все фрагменты в ViewPager исчезают.
есть идеи, чтобы решить эту проблему?
РЕДАКТИРОВАТЬ 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;
}
}
}
РЕДАКТИРОВАТЬ 2
очевидноMainActivity
а такжеMainActivityFragment
загружены, и доказательствоActionBar
обратите внимание также, чтоViewPager
загружен тоже, потому что вы все еще можете перемещаться между страницами (синий свет означает, что пейджер достиг последней страницы), но вы можете 'не вижу его содержания.