BackStack фрагмента не работает, хотя addToBackStack (null) вызывается - PullRequest
4 голосов
/ 09 февраля 2012

В своей деятельности я звоню:

getFragmentManager().beginTransaction().addToBackStack(null)
                .add(R.id.fragment_container, new UserPlaylistsFragment())
                .addToBackStack(null).commit();

Этот фрагмент правильно добавлен в представление.Фрагмент содержит просмотр списка.При нажатии на элемент будет выполнен следующий код:

getFragmentManager()
            .beginTransaction()
            .replace(R.id.fragment_container, new ViewPlaylistFragment(),
                    "ViewPlaylistFragment").addToBackStack(null).commit();

Это тоже работает.UserPlaylistsFragment заменяется на ViewPlaylistFragment.Странная вещь: при нажатии «Назад» ничего не происходит.И при нажатии дважды приложение закрывается (без ошибок).

Кажется, что "BackStack" не работает для меня.У кого-нибудь есть предложения?

Мой макет:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical" >


    <RelativeLayout
        android:id="@+id/fragment_container"
        android:layout_width="match_parent"
        android:layout_height="match_parent" >

    </RelativeLayout>

</LinearLayout>

Ответы [ 2 ]

2 голосов
/ 05 февраля 2013

Удалите ваш первый вызов .addToBackStack (null) в вашей первоначальной транзакции Fragment.

0 голосов
/ 04 февраля 2014

Никогда не вызывайте addToBackStack () twise .. это бы испортило

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...