#android #fragment-backstack #android-fragment-manager
Вопрос:
здравствуйте, я пытаюсь включить backstack во фрагмент EditProfile, который при нажатии кнопки «Назад» возвращается к фрагменту профиля, но возвращается к домашнему фрагменту
если вы хотите получить дополнительную информацию о коде, пожалуйста, скажите мне, что я обновлю вопрос с полным кодом
Фрагмент профиля
editProfileButton = relativeLayout.findViewById(R.id.edit_profile_button); // buuton to start editprofile fragment
editProfileButton.setOnClickListener(v -> {
Fragment edit_profile = new Edit_Profile();
FragmentTransaction transaction = getChildFragmentManager().beginTransaction();
transaction.replace(R.id.fragment_container, edit_profile);
transaction.addToBackStack(String.valueOf(new Profile_Fragment())); // i thinked this method of implementing string.valueof will navigate back to the given fragment but as you know it is not working
transaction.commit();
});
Ответ №1:
Я нашел хорошее объяснение в этом посте в блоге. Вы можете попробовать этот код, а также прочитать о нем больше.
public void addSubscreen(Fragment fragment) {
getSupportManager()
.beginTransaction()
.replace(R.id.container, fragment)
.addToBackStack(null)
.commit();
subscreensOnTheStack ;
}
public void popOffSubscreens() {
while (subscreensOnTheStack > 0) {
fragments.popBackStackImmediate();
}
}