Итак, я использую новый компонент навигации (с принципом одного действия) и общаюсь между каждым фрагментом с использованием общих моделей представления, однако я дошел до точки, когда мне иногда нужно очистить модель представления, но я не могу найти хорошее место, чтобы его очистить. Но, черт возьми, я думаю, что вместо того, чтобы пытаться очистить это сам, я действительно должен позволить фреймворку делать это за меня, но это не так, потому что модели представления являются общими и привязаны к деятельности, но я думаю, что могу охватить их до родительский фрагмент, я сделал рисунок, чтобы проиллюстрировать, что я пытаюсь сделать. , поэтому я хочу очистить только 2 модели представления, когда я возвращаюсь из" Child 1 Child a "в настоящее время модели представления никогда не очищаются, пытаясь получить модель представления в настоящее время, вызывая 'this' во фрагменте, а getParentFragment в дочернем элементе не работает, может ли кто-нибудь предоставить пример?
ИЗМЕНИТЬ
Похоже, я уже делал что-то подобное, но в моем случае это не работает, поэтому я добавлю код, вот как я получаю доступ к первой модели представления в родительском фрагменте
model = ViewModelProviders.of(this).get(RequestViewModel.class);
а затем в дочернем фрагменте я делаю это
requestViewModel = ViewModelProviders.of(getParentFragment()).get(RequestViewModel.class);
но он не хранит данные между ними, у них обоих есть прикрепленные наблюдатели
ViewModels
в родительском и дочернем фрагментах, просто чтобы убедиться, что они общие? Если они оба имеют одинаковое значение, они общие ... также проверьте дочерние фрагменты. Это может быть причиной. - person Jeel Vankhede   schedule 17.12.2018