質問: new messagesfragment(); ... }
回答: 私の解決策は非常に失礼ですが、うまくいきます:私のフラグメントは保持されたデータから動的に作成されるので、super.onsaveinstancestate()を呼び出す前にpageadapterからすべてのフラグメントを削除し、アクティビティ作成時に再作成します。@override protected void onsaveinstancestate(bundle outstate) { outstate.putint("viewpagerpos", mviewpager.getcurrentitem() ); msectionspageradapter.removeallfragments(); super.onsaveinstancestate(outstate); } ondestroy()でそれらを削除することはできません、そうでなければ、この例外が発生します:java.lang.illegalstateexception: onsaveinstancestateの後にこのアクションを実行することはできませんこれがページアダプタのコードです。public void removeallfragments() { if ( mfragmentlist != null ) { for ( fragment fragment : mfragmentlist ) { mfm.begintransaction().remove(fragment).commit(); } mfragmentlist.clear(); notifydatasetchanged(); } } フラグメントが作成された後に、現在のページを保存してoncreate()に復元するだけです。if (savedinstancestate != null) mviewpager.setcurrentitem( savedinstancestate.getint("viewpagerpos", 0 ) );