существует ли какой-либо метод, который может удалить все данные фрагмента, перейдя по другому фрагменту в окне навигации?

#android #android-fragments

Вопрос:

Мне нужно удалить все данные домашнего фрагмента во время перехода к фрагменту галереи в активности навигационного ящика.

Моя проблема в том, что мне нужно удалить некоторое значение во фрагменте галереи, но это значение загружено в домашнем фрагменте. При удалении значения во фрагменте галереи при нулевой ссылке на объект в домашнем фрагменте возникает ошибка. Поэтому мой вопрос заключается в том, как я могу удалить загруженные данные из домашнего фрагмента при переходе к фрагменту галереи.

Ответ №1:

Довольно сложно ответить, не зная, что именно вы используете для навигации

Если вы не используете что-то вроде MVVM, вам, вероятно, следует это сделать. Навигационная составляющая также хороша.

Если вы новичок, самый простой вариант-отредактировать метод, который вызывается при переходе, и просто установить ваши переменные равными нулю (если они находятся в одном и том же фрагменте).

Методы жизненного цикла, такие как onStop (), вызываются и в других случаях, поэтому я бы их не использовал.

Если фрагмент, который нуждается в удалении, не является тем, который выполняет код, у вас, вероятно, должны быть данные за пределами фрагмента (например, репозиторий, вы можете удалить данные из него в любом месте).