アクティビティがあり、デバイスの向きに応じてフラグメントを変更したい。ここに私のコードがあります:
FragmentTransaction ft = getFragmentManager().beginTransaction();
if(getFragmentManager().findFragmentById(R.id.calendrier_calendrierhebdomadaire) != null){
Fragment fragment = getFragmentManager().findFragmentById(R.id.calendrier_calendrierhebdomadaire);
ft.remove(fragment);
}
ft = getFragmentManager().beginTransaction();
if(getResources().getConfiguration().orientation == 1){
ft.add(R.id.calendrier_planifications, new Planifications());
}
else if(getResources().getConfiguration().orientation == 2){
ft.add(R.id.calendrier_planifications, new Planifications());
ft.add(R.id.calendrier_calendrierhebdomadaire, new Test());
}
ft.commit();
私は2つの異なるレイアウトファイルを使用しています.2つのLinearLayoutを含むlayout/calendrier.xml、1つのLinearLayoutを含むlayout-port/calendrier.xml
問題は、アプリケーションを横向きモード (向き == 2) で起動し、縦向きモード (向き == 1) に切り替えると、まだフラグメント Test のメソッドが実行されていることです。
テストフラグメントを完全に削除するには?