我在使用ViewPager和FragmentPagerAdapter处理屏幕方向更改时遇到问题.它在应用程序启动时工作正常,但在方向更改(可能丢失)后,viewpager中的片段不可见.我该如何解决这个问题.
以下是我的活动结构:
以下是我的活动结构:
编辑:
这是清单文件
- <?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实现:
- 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);
- }
}