Android usando getFragmentManager e getSupportFragmentManager causa sobreposição
Eu tenho algo assim dentro da minha atividade:
@Override
public void onNavigationDrawerItemSelected(int position) {
Fragment fragment = null;
switch (position+1) {
case 1: {
fragment = new Fragment_Login();
FragmentManager frgManager = getFragmentManager();
frgManager.beginTransaction().replace(R.id.container, fragment)
.commit();
break;
}
case 2: {
SwipeRefreshListFragment swipeFragment = new Fragment_List_Of_Assessments();
FragmentTransaction transaction = getSupportFragmentManager().beginTransaction();
transaction.replace(R.id.container, swipeFragment)
.commit();
break;
}
case 3: {
fragment = new Fragment_Report();
FragmentManager frgManager = getFragmentManager();
frgManager.beginTransaction().replace(R.id.container, fragment)
.commit();
break;
}
case 4: {
fragment = new Fragment_Settings();
FragmentManager frgManager = getFragmentManager();
frgManager.beginTransaction().replace(R.id.container, fragment)
.commit();
break;
}
default:
break;
}
}
O programa carrega automaticamente case1, mas quando case2 é selecionado, getSupportFragmentManager carrega o Fragmento na parte superior da case1. Eu acho que há algum problema com o uso de supportFragmentManager e FragmentManager. Eles parecem ter sua própria pilha. O problema é que não posso usar apenas um deles, porque o exemplo do Android SwipeToRefresh usa o ListView, que precisa de support.v4.Fragment, que precisa do FragmentManager antigo. Então, como é possível integrar os dois FragmentManagers?