powered by simpleCommunicator - 2.0.40     © 2025 Programmizd 02
Форумы / Android [игнор отключен] [закрыт для гостей] / Как избежать задвоения запуска Fragment-ов?
8 сообщений из 8, страница 1 из 1
Как избежать задвоения запуска Fragment-ов?
    #38788959
vlad333
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Добрый день.
Есть стартовый фрагмент.
И есть остальные фрагменты которые замещают этот стартовый фрагмент,
добавляясь в стек возврата addToBackStack (). И в конце своей жизни спокойно возвращаясь
к стартовому фрагменту.

Но проблема возникает при стечении обстоятельств, когда запрос на запуск других
фрагментов приходит почти одновременно. И кто-то из них запустится.
Но сломается стек возврата.
А причина этого в том, что транзакции менеджера фрагментов коммитятся не сразу и позднее чем несколько вызовов на показ фрагментов.
developer.android.comSchedules a commit of this transaction. The commit does not happen immediately; it will be scheduled as work on the main thread to be done the next time that thread is ready. Как сказал бы П. П. Шариков:"В очередь, с..... дети!".

Соответственно, не получается отследить из findFragmentByTag то, какой сейчас фрагмент запущен.

Вопрос в том, как правильно разрулить такую ситуацию?
Нужно, чтобы, кто последний, тот и добавлялся в стек, а предыдущие незавершенные коммиты,
если они есть, убрать из очереди.
...
Рейтинг: 0 / 0
Как избежать задвоения запуска Fragment-ов?
    #38789003
Фотография wadman
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
vlad333Но проблема возникает при стечении обстоятельств, когда запрос на запуск других
фрагментов приходит почти одновременно.
Как этот эффект достигается?
...
Рейтинг: 0 / 0
Как избежать задвоения запуска Fragment-ов?
    #38789066
vlad333
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
wadmanvlad333Но проблема возникает при стечении обстоятельств, когда запрос на запуск других
фрагментов приходит почти одновременно.
Как этот эффект достигается?
Например событие из интерфейса слушателя событий по которому надо открыть определенный фрагмент
и пользователь одновременно с этим перешел на фрагмент(не обязательно на тот же самый).
...
Рейтинг: 0 / 0
Как избежать задвоения запуска Fragment-ов?
    #38789114
Фотография Джибс
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
vlad333wadmanпропущено...

Как этот эффект достигается?
Например событие из интерфейса слушателя событий по которому надо открыть определенный фрагмент
и пользователь одновременно с этим перешел на фрагмент(не обязательно на тот же самый).

ка кпример смотреть в фрагмент манагере, наличие такого фрагмента по тегу.
...
Рейтинг: 0 / 0
Как избежать задвоения запуска Fragment-ов?
    #38789124
vlad333
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Джибска кпример смотреть в фрагмент манагере, наличие такого фрагмента по тегу.
выше я уже писал "Соответственно, не получается отследить из findFragmentByTag то, какой сейчас фрагмент запущен."
Предыдущая транзакция где-то в очереди застряла и фрагмент еще не создался.
...
Рейтинг: 0 / 0
Как избежать задвоения запуска Fragment-ов?
    #38789152
Фотография wadman
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
vlad333wadmanпропущено...

Как этот эффект достигается?
Например событие из интерфейса слушателя событий по которому надо открыть определенный фрагмент
и пользователь одновременно с этим перешел на фрагмент(не обязательно на тот же самый).
То есть интерфейсу виднее, что делает пользователь? А если он в это время вводит информацию?

Как-то неправильно менять фрагмент по событию без уведомления...
...
Рейтинг: 0 / 0
Как избежать задвоения запуска Fragment-ов?
    #38789193
vlad333
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Пользователь там точно ничего в это время не вводит,
он наоборот ждет чего-то. И вот это чего-то определяется извне,
и в зависимости от этого показывается нужный фрагмент.
Если б пользователь что-то вводил и его труды могли бы потеряться,
конечно интерфейс реагировал бы по-другому.
...
Рейтинг: 0 / 0
Как избежать задвоения запуска Fragment-ов?
    #38796032
Юрий321
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
vlad333,

getSupportFragmentManager().executePendingTransactions()
...
Рейтинг: 0 / 0
8 сообщений из 8, страница 1 из 1
Форумы / Android [игнор отключен] [закрыт для гостей] / Как избежать задвоения запуска Fragment-ов?
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]