我有一个项目,它有一个MainActivity,它托管一个片段,通过Viewpager托管另外两个片段.它在第一次启动时看起来很好,但是当我旋转时,Viewpager中的两个碎片都会丢失.我已经尝试将getFragmentManager更改为getChildFragmentManager但是我会得到一个非法状态异常:无法保留嵌套在其他片段中的fragements.
MainActivity.java:
import android.app.ActionBar;
import android.os.Bundle;
import android.view.MenuItem;
import android.widget.ArrayAdapter;
import android.widget.ListView;
import com.jeremyfeinstein.slidingmenu.lib.SlidingMenu;
import com.jeremyfeinstein.slidingmenu.lib.app.SlidingFragmentActivity;
public class MainActivity extends SlidingFragmentActivity {
@TargetApi(11)
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
getSupportFragmentManager()
.beginTransaction()
.replace(R.id.mainContentFrame, new WorkOutsContainerFrag())
.commit();
setBehindContentView(R.layout.menu);
ActionBar actionBar = getActionBar();
populate();
SlidingMenu menu = getSlidingMenu();
menu.setMode(SlidingMenu.LEFT);
menu.setShadowWidthRes(R.dimen.shadow_width);
menu.setShadowDrawable(R.drawable.shadow);
menu.setBehindWidthRes(R.dimen.slidingmenu_offset);
menu.setFadeDegree(0.35f);
menu.setTouchModeAbove(SlidingMenu.TOUCHMODE_FULLSCREEN);
menu.setSlidingEnabled(false);
setSlidingActionBarEnabled(true);
actionBar.setDisplayHomeAsUpEnabled(true);
}
@Override
public boolean onOptionsItemSelected(MenuItem item) {
switch (item.getItemId()) {
case android.R.id.home:
toggle();
return true;
default:
return super.onOptionsItemSelected(item);
}
}
private void populate() { …
Run Code Online (Sandbox Code Playgroud) android android-fragments android-viewpager pagerslidingtabstrip