Ответ
Для добавления нескольких экземпляров одного фрагмента используйте FragmentManager и транзакции. Каждый фрагмент должен иметь уникальный тег или ID контейнера:
supportFragmentManager.beginTransaction()
.add(R.id.container1, MyFragment.newInstance(), "fragment1")
.commit()
supportFragmentManager.beginTransaction()
.add(R.id.container2, MyFragment.newInstance(), "fragment2")
.commit()
Ключевые моменты:
- Используйте разные контейнеры (R.id.container1, R.id.container2)
- Назначайте уникальные теги ("fragment1", "fragment2")
- Для динамических данных используйте аргументы через newInstance()
- Не добавляйте в один контейнер без замены/удаления предыдущего
Фрагменты будут независимыми экземплярами с отдельными жизненными циклами.