Как я могу извлечь фрагмент из backstack, не возобновляя его? - PullRequest
9 голосов
/ 03 ноября 2011

Как извлечь фрагмент из backstack, не возобновляя его? Я просто хочу удалить из заднего стека, я не хочу отображать его.

Ответы [ 2 ]

0 голосов
/ 03 ноября 2011

Это архитектурный вопрос.

1) Предположим, у нас есть 2 контроллера (фрагменты / действия): контроллер A и контроллер B. Они оба подключены к одному экземпляру некоторой модели (вы можете использовать привязку со службой, шаблон Singleton или модель init в классе Application-heir и создать для него метод получения). Когда в контроллере B происходит что-то интересное, он уведомляет об этом модель, а затем модель вызывает controllerA.finish () / controllerA.remove (). Конечно, я всегда стараюсь реализовать это решение как можно лучше, но есть основная идея.

2) При других обстоятельствах я вызываю finish () сразу после startActivity (намерение);

3) Также я могу написать: startActivityForResult (intent, requestCode) и после завершения второго действия вызывается метод onActivityResult (requestCode, responseCode, intent) - если requestCode равны, я завершаю действие.

0 голосов
/ 03 ноября 2011

Если вы не используете метод FragmentTransactionpublic abstract FragmentTransaction addToBackStack (String name)добавить его в задний стек.Там не будет необходимости удалять его.

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