В Android я добавил несколько фрагментов в Linear Layout, используя Fragment Transaction. Есть ли какой-либо конкретный способ, которым можно заменить определенный фрагмент в линейном макете, а не все из них?
Мы можем удалить любой фрагмент, используя сам фрагмент, но мы можем заменить только конкретный фрагмент наИдентификатор контейнера, а не сам фрагмент?
fragmentTransaction.replace(R.id.linearlayout, fragment);
заменяет весь линейный макет одним фрагментом, а не конкретным, который я пытаюсь заменить.
Замена фрагмента вКонтейнер по тегу также не влияет на приведенное выше утверждение.
fragmentTransaction.addToBackStack(null);
не удаляет конкретный фрагмент, который я пытаюсь заменить.
Так же имеет место и случай, когда я пыталсязамените R.id.linearlayout
идентификатором корневого представления файла макета фрагмента.
Я попытался добавить все фрагменты в линейном макете в начале и отделить фрагменты, которые не должны отображаться в начале. Я могу отсоединить ненужные фрагменты и прикрепить необходимые фрагменты во время выполнения, но новые присоединенные фрагменты просто добавляются в конце линейного макета, но не в той конкретной позиции, на которую я пытаюсь заменить.
Есть лилюбой способ прикрепить новые фрагменты в Linear Layout в определенной позиции? Можно отсоединить все существующие фрагменты от линейной компоновки и прикрепить все необходимые фрагменты во время выполнения для простой замены одного конкретного фрагмента в данной позиции, но это занимает целое O (n) время.
Является ли этоможно сделать это лучше всего за O (1) раз?