2013-08-05 4 views
1

У меня есть активность, и я хочу изменить фрагменты в зависимости от ориентации устройства. так вот мой код:уничтожить фрагмент полностью Android

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(); 

Я использую два различных файла макета: макет/calendrier.xml, содержащие два LinearLayouts, макет-порт/calendrier.xml, содержащий 1 LinearLayout

проблема, когда я начинаю мое приложение в ландшафтном режиме (ориентация == 2) и переключите его в портретный режим (ориентация == 1), у меня все еще есть методы выполнения моего фрагмента Test.

Как полностью удалить тестовый фрагмент?

+0

Помогите мне? – Blacksword888

ответ

0

Вы создали две транзакции, но только совершили вторую. Попробуйте удалить эту строку:

ft = getFragmentManager().beginTransaction(); 
+0

Я попробовал то, что вы сказали, это не сработало Я попытался зафиксировать и создать новый, он не работал ни – Blacksword888

Смежные вопросы