I'm having trouble handling screen orientation change with ViewPager and FragmentPagerAdapter. It works fine on application startup but the fragments inside the viewpager are not visible after orientation change (maybe lost). How do I fix this issue.
Following is the structure of my activity:
edit: This is the manifest file
<?xml version="1.0" encoding="utf-8"?>
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.GET_ACCOUNTS" />
<uses-permission android:name="android.permission.USE_CREDENTIALS" />
<application
android:name="com.test.myapp.NetworkManager.TBVolleyInstance"
android:allowBackup="true"
android:icon="@drawable/launcher"
android:label="@string/app_name"
android:theme="@style/CustomActionBarTheme">
<meta-data
android:name="com.google.android.gms.version"
android:value="@integer/google_play_services_version" />
<activity
android:name=".Home"
android:label="@string/app_name"
android:windowSoftInputMode="adjustNothing" >
</activity>
<activity
android:name=".RouterActivity"
android:label="@string/app_name" >
<intent-filter android:label="@string/app_name" >
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
</application>
FragmentPagerAdapter implementation:
public class PagerAdapter extends FragmentPagerAdapter{
public PagerAdapter(FragmentManager fm) {
super(fm);
}
@Override
public Fragment getItem(int index) {
switch (index) {
case 0:
return new Fragment1();
case 1:
return new Fragment2();
}
return null;
}
@Override
public int getCount() {
return 2;
}
@Override
public float getPageWidth(int position){
return(1.0f);
}
}