我找到了像我这样的类似问题的主题但是找不到我到目前为止找到的答案.我的应用程序包含一个FragmentActivity托管ViewPagerAdapter(FragmentPagerAdapter的子代)并在每个选项卡中包含一个片段的应用程序.我的ViewPagerAdapter在父活动的OnCreateView函数中实例化
_adapter = new ViewPagerAdapter(getApplicationContext()
, getSupportFragmentManager()
, numOfTabs
, status);
Run Code Online (Sandbox Code Playgroud)
ViewPagerAdapter实现了所需的最少方法 getItem,getCount以及getItemPosition
我getItem为每个位置初始化了一个不同的片段:
@Override
public Fragment getItem(int position)
{
Fragment f = new Fragment();
Log.d("Adbox",String.format("Inside ViewPagerAdapter.getItem(%s)",position));
switch(position)
{
case 0:
Log.d("Adbox","All offers ==");
f=FragmentAllOffers.newInstance(_context);
f.setRetainInstance(true);
break;
case 1:
Log.d("Adbox","Nearby offers ==");
f=FragmentNearbyOffers.newInstance(_context);
//f.setRetainInstance(true);
break;
case 2:
Log.d("Adbox","My coupons ==");
f=FragmentCoupons.newInstance(_context);
f.setRetainInstance(true);
break;
case 3:
Log.d("Adbox","Account ==");
f=FragmentAccount.newInstance(_context);
f.setRetainInstance(true);
//f=LayoutLocal.newInstance(_context);
break;
case 4:
Log.d("Adbox","Preferences ==");
f=FragmentPreferences.newInstance(_context);
f.setRetainInstance(true);
break;
default:
break; …Run Code Online (Sandbox Code Playgroud)