TGViewer
Мобильная разработка #1 Мобильная разработка #1 @developer_mobila · 3.81K subscribers
Post #518 867
Чем отличается tag в методах add() и addToBackStack()?

Tag в методе add() присваивается фрагменту. Fragment.getTag() возвращает этот тег.
Тег фрагмента используется в методе findFragmentByTag().

Tag в методе addToBackStack() это на самом деле не tag, а name. Имя транзакции, которое присваивается объекту BackStackEntry и возвращается методом getName().

Этот вопрос возник на собеседованиях, потому что когда только появились фрагменты было популярно писать такой код:

val tag = "home_fragment"
supportFragmentManager.beginTransaction()
.add(R.id.fragmentContainer, HomeFragment, tag)
.addToBackStack(tag)
.commit();

…

val lastEntryIndex = supportFragmentManager.backStackEntryCount - 1
val tag = supportFragmentManager.getBackStackEntryAt(lastEntryIndex).name
val topFragment = supportFragmentManager.findFragmentByTag(tag)


Сначала добавляется фрагмент с одинаковым тегом фрагмента и именем транзакции. Потом, используя имя-тег, можно получить инстанс фрагмента по позиции в бэкстэке.

Удобно? Нет! Не надо так делать.

#Fragment
More from @developer_mobila
  1. Oct 10, 2026🚀 Подборка полезных IT каналов в Max Системное администрирование, DevOps 📌 https://max.r…
  2. Sep 14, 2026Как разрабатывать приложения для iPhone на iPad Звучит как противоречие: iPad стал вполне…
  3. Aug 24, 2026🧪 Как заставить XCUITest работать с интерфейсом глубиной более 100 уровней Инженеры Циана…
  4. Jul 25, 2026🚀 Подборка полезных IT каналов в Max Системное администрирование, DevOps 📌 https://max.r…
  5. Jul 8, 2026🕵️‍♂️ «Я спрятал ключ в константу»: Как Джуны дарят доступы хакерам Вы интегрировали крут…
  6. Jun 25, 2026👾 Androguard: Швейцарский нож для реверс-инжиниринга Android Если вы занимаетесь пентесто…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →