私はこれについて本当に混乱しています。actionbar
リストナビゲーション付きです。リストをクリックして2fragment
つを次々に開き、同じアクティビティに表示します。私は基本的にこの方法を使用してそれらを置き換えています:
public void openFragment(AprilAppsFragment createdFragment){
if (createdFragment.getClass().isInstance(getDisplayedFragment()))
return;
FragmentManager manager = getSupportFragmentManager();
FragmentTransaction transaction = manager.beginTransaction();
transaction.setTransition(FragmentTransaction.TRANSIT_FRAGMENT_OPEN);
transaction.replace( R.id.main_fragment, createdFragment, "displayed fragment");
transaction.addToBackStack(null);
transaction.commit();
}
フラグメントAを開き、次にフラグメントBを開き、次に画面を回転させます。フラグメントAが再作成され、アプリがクラッシュします
私がreplaceを使用しているのに、それはなぜですか?表示されなくなったフラグメントを、バックプレスの可能性を失うことなく再作成しないようにするにはどうすればよいですか?