我在使用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); }
}