• 1000 Итак, у меня есть одно основное действие в приложении, которое обрабатывает только нижнюю навигацию. В настоящее время у меня 5 вкладок, и я заполняю каждую вкладку
навигацией с вложенными графами точно так же, как в этом
официальном Android примере архитектуры , что дает мне возможность иметь 5 независимых стеков навигации. , по одному на каждую вкладку. Для представления экранов я использую Android фрагментов, некоторые из которых я пытаюсь повторно использовать в разных местах каждого стека навигации. Каждый файл навигации обычно выглядит так:
<fragment
android:id="@+id/gallery"
android:name="test.flows.socialNetwork.gallery.GalleryFragment"
android:label="@string/fotoghrafii"
tools:layout="@layout/fragment_gallery">
<action
android:id="@+id/action_gallery_to_countries"
app:destination="@id/countriesList" />
<action
android:id="@+id/action_gallery_to_profile"
app:destination="@id/galleryToInterlocutorProfile" />
</fragment>
<fragment
android:id="@+id/countriesList"
android:name="test.flows.common.countries.CountriesListFragment"
android:label="@string/vybor_strany"
tools:layout="@layout/fragment_select_country"/>
<navigation android:id="@+id/galleryToInterlocutorProfile"
app:startDestination="@id/galleryToInterlocutorProfile">
<fragment
android:id="@+id/galleryToInterlocutorProfile"
android:name="test.flows.socialNetwork.userProfile.UserProfileFragment"
android:label="galleryToInterlocutorProfile"
tools:layout="@layout/fragment_interlocutor_profile" />
</navigation>
Проблема в том, что все фрагменты в навигации ведут себя как синглтоны - если я заполняю один пользовательский интерфейс данными, все остальные с тем же классом относятся к нему. в других местах / стеках навигации (относится к тому же экземпляру) и измените соответствующим образом. Я хочу повторно использовать фрагмент с тем же пользовательским интерфейсом, но для разных целей - один будет показывать данные пользователя приложения, другой - друга пользователя, третий - другого друга и т. Д. c. Итак, в основном мне нужны разные экземпляры одного и того же фрагмента, а не ссылки на один и тот же фрагмент во всем приложении. Код для них очень похож, поэтому я бы использовал один класс ** UserProfileFragment ** для всех из них, чтобы избежать дублирования кода. Пожалуйста, дайте мне знать, если вам нужна дополнительная информация или пояснения, поскольку я не являюсь разработчиком Android на постоянной основе и могу неправильно использовать соглашения и термины.
Заранее спасибо!