фрагмент Б и В
Во фрагменте Б я работаю со списком и отдаю size списка во фрагмент А, где сечу его в тулбар.
Так же во фрагменте А в тулбаре есть кнопка "Удалить". При нажатии на нее во фрагменте Б нужно вызвать метод удаления.
Сейчас во фрагменте Б есть интерфейс с методом, как раз через который эти фрагменты общаются.
Я хотел сделать во фрагменте А тоже интерфейс, но столкнулся с ошибкой иерархии.. Что-то такое. Предлагали вынести за пределы класса, но тогда как во фрагмете А получить доступ к методу интерфейса, чтобы клик повесить?
может кто сталкивался с такой логикой?
расшарь общую вьюмодель от активити и в ней твори всю эту дичь
нету вью модели общей
у активити в которой сидит фрагмент А нету вьюмодели?
Нет.
Ну тогда не знаю как. советую переходить на MVVM, вьюмодель упрощает жизнь.
дерево паков не значит ничего. Тебе нужно проследить в какой активити сидит твой фрагмент А, и создать для нее вьюмодель, если еще не создана. И тогда во всех фрагментах ты сможешь получить доступ к этой вьюмодели, и в ней хранить общие данные для всех фрагменов, которые хостятся в этой активити
при этом еще у фрагментов можно использовать свои viewModels?
да. у каждого фрагмента может быть своя собственная вьюмодель и еще другие вьюмодели, например родительская вьюмодель от активити
Есть одна mainActivity и все
отлично, ковыряй ее. можешь еще узнать, можно ли прямо у фрагмента А взять вьюмодель в Б и С, вместо вьюмодели активити. это уже гуглить надо или здесь спрашивать
https://t.me/android_ru/914450 вот, гугли как это сделать
мне по сути во фрагменте Б нужно выбрать несколько элементов, отобразить это число в тулбаре фрагмента А и потом при клике на унопку "удалить" удалить эти элементы во фрагменте Б.. Подойдет шаредВьюмодел тут?
я не знаю что такое шаредВьюмодель, гугли how to access parent viewModel from fragment
Обсуждают сегодня