Je tente de charger un nouveau fragment quand une méthode est appelée. Cette méthode crée un nouveau fragment et "remplace" l'autre fragment:Android: Fragments backStack
private void showTestFragment(Fragment oldFragment, boolean addBackStack, BaseAdapter adapter, int position) {
Cursor cursor = (Cursor)adapter.getItem(position);
if(cursor != null){
int idx = cursor.getColumnIndexOrThrow(Episode._ID);
long rowId = cursor.getLong(idx);
FragmentManager fragmentManager = getFragmentManager();
FragmentTransaction fragmentTransaction = fragmentManager.beginTransaction();
if(oldFragment != null){
Log.i(TAG, "Removing the old fragment");
fragmentTransaction.remove(oldFragment);
}
TestFragment testFragment = new TestFragment();
testFragment.setId(rowId);
fragmentTransaction.add(android.R.id.content, testFragment);
if(addBackStack){
Log.i(TAG, "Added to the backstack");
fragmentTransaction.addToBackStack(TAG);
}
fragmentTransaction.commit();
Fragment f = getFragmentManager()
.findFragmentById(R.id.index);
Log.i(TAG, "after commit, frag is "+ f);
}
}
Cela fonctionne bien, jusqu'à ce que je revienne en arrière. Le dernier fragment, devrait être enlevé quand je reviens. Avant que je vais mettre en œuvre des méthodes sur les activités
public void onBackPressed(){}
pour enlever le dernier fragment, je veux savoir si je manipuler le changement de fragment. On dirait que je manque quelque chose ici ..
double possible de [Comment mettre en œuvre onBackPressed() en fragments?] (Http://stackoverflow.com/questions/5448653/how-to-implement-onbackpressed-in-fragments) –