Horrible hack to keep page state during screen rotates

This commit is contained in:
YuviPanda 2013-02-25 17:43:22 +05:30
parent a29a07b418
commit 6cba1556ab

View file

@ -49,9 +49,25 @@ public class MediaDetailPagerFragment extends SherlockFragment {
View view = inflater.inflate(R.layout.fragment_media_detail_pager, container, false);
pager = (ViewPager) view.findViewById(R.id.mediaDetailsPager);
pager.setAdapter(new MediaDetailAdapter(getChildFragmentManager()));
if(savedInstanceState != null) {
final int pageNumber = savedInstanceState.getInt("current-page");
// Adapter doesn't seem to be loading immediately.
// Dear God, please forgive us for our sins
view.postDelayed(new Runnable() {
public void run() {
pager.setCurrentItem(pageNumber, false);
}
}, 100);
}
return view;
}
@Override
public void onSaveInstanceState(Bundle outState) {
super.onSaveInstanceState(outState);
outState.putInt("current-page", pager.getCurrentItem());
}
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);