Szuflada nawigacyjna, obsługa przycisku Wstecz, aby przejść do poprzednich fragmentów?

Używam wbudowanej szuflady nawigacyjnej do uruchamiania mojej aplikacji. Nie wiem, jak sobie poradzić z przyciskiem Wstecz. Po naciśnięciu chcę, aby ponownie załadował pierwszy fragment. Fragment1.

Tak więc po uruchomieniu aplikacji zobaczysz fragment Fragment1. Następnie mogą kliknąć Fragment 2-5, aby przejść do innych stron. Na wszystkich tych stronach chcę, aby przycisk Wstecz przeniósł użytkownika z powrotem do Fragmentu1. Jedynym miejscem, w którym użytkownik powinien móc wyjść z aplikacji za pomocą przycisku Wstecz, jest Fragment1.

Gdy wszystko jest obsługiwane przez FragmentActivity, próbowałem tam mieszać z przyciskiem backbutton. Ciągle otrzymuję błąd zamknięcia siły:

(01-11 14:09:33.114: E/AndroidRuntime(8292): android.view.InflateException: Binary XML file line #7: Error inflating class fragment)

Oto, co mam do tej pory:

Dopilnowałem, aby dodać fragmenty do stosu z tyłu w ten sposób:

fm.beginTransaction().replace(R.id.main, newFragment).addToBackStack("fragBack").commit();

Przycisk powrotu:

@Override
public void onBackPressed() {
    if (getSupportFragmentManager().findFragmentByTag("fragBack") != null) {

    }
    else {
        super.onBackPressed();
        return;
    }
    if (getSupportFragmentManager().getBackStackEntryCount() != 0) {
        Toast.makeText(getApplicationContext(), "Test", Toast.LENGTH_LONG).show();
        Fragment frag = getSupportFragmentManager().findFragmentByTag("fragBack");
        FragmentTransaction transac = getSupportFragmentManager().beginTransaction().remove(frag);
                transac.commit();
    }

}

Czy ktoś wie, co muszę zrobić? Czy muszę wywoływać onBackPressed w każdym fragmencie (jeśli jest to możliwe), a nie w FragmentActivity sterującym szufladą? W moich poprzednich aplikacjach byłem w porządku, naciskając przycisk Wstecz zamykający aplikację, niezależnie od tego, który fragment jest włączony, ale ten, który teraz robię, chcę, aby przycisk Wstecz wrócił do Fragmentu1.

Dziękuję bardzo za pomoc.

onItemClick

@Override
        public void onItemClick(AdapterView<?> adapterView, View view, int i, long l) {

            Fragment newFragment = new MapsPage();
            FragmentManager fm = getSupportFragmentManager();
            switch(i) {
            case 0:
                newFragment = new Fragment2();
                break;
            case 1:
                newFragment = new Fragment3();
                break;
            case 2:
                newFragment = new Fragment4();
                break;
            case 3:
                newFragment = new Fragment5();
                break;
            }
            fm.beginTransaction().add(R.id.main, newFragment).addToBackStack("fragback").commit();
            drawerLayout.closeDrawer(rl);
        }

questionAnswers(5)

yourAnswerToTheQuestion