2013-03-28 4 views
1

Почему это возвращает ошибку «фрагмент уже добавлена» и сбой приложения?Ошибка: фрагмент уже добавлен?

android.support.v4.app.FragmentManager fm = getSupportFragmentManager(); 

    android.support.v4.app.FragmentTransaction ft = fm.beginTransaction(); 



    ft.setCustomAnimations(R.anim.slide_in_left, R.anim.slide_out_right); 
    ft.replace(R.id.fragment_container, tempmainfrag); 
    ft.commit(); 
    for(int i = 0; i < fm.getBackStackEntryCount(); i++) 
    { 
     fm.popBackStack(); 
    } 

Я предполагаю, что это из-за цикл, как это работает и без него, но я необходимости очистить стек назад, как я могу правильно это сделать?

+0

Stacktrace please – Warpzit

ответ

1

У меня были такой же ошибка при работе с mapfragments, это то, что, наконец, решить это для меня:

@Override 
public void onDestroyView() { 
    super.onDestroyView(); 

    SupportMapFragment f = (SupportMapFragment) getFragmentManager().findFragmentById(R.id.current_fragment); 
    if (f != null) 
     getFragmentManager().beginTransaction().remove(f).commit(); 
} 

Надеется, что это помогает.

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