169 похожих чатов

Еще такой вопрос. Вот логика. Есть фрагмент А (основной) в котором вложен

фрагмент Б и В
Во фрагменте Б я работаю со списком и отдаю size списка во фрагмент А, где сечу его в тулбар.
Так же во фрагменте А в тулбаре есть кнопка "Удалить". При нажатии на нее во фрагменте Б нужно вызвать метод удаления.

Сейчас во фрагменте Б есть интерфейс с методом, как раз через который эти фрагменты общаются.

Я хотел сделать во фрагменте А тоже интерфейс, но столкнулся с ошибкой иерархии.. Что-то такое. Предлагали вынести за пределы класса, но тогда как во фрагмете А получить доступ к методу интерфейса, чтобы клик повесить?

15 ответов

17 просмотров
leksss-Alekseyevich Автор вопроса

может кто сталкивался с такой логикой?

расшарь общую вьюмодель от активити и в ней твори всю эту дичь

leksss-Alekseyevich Автор вопроса

нету вью модели общей

у активити в которой сидит фрагмент А нету вьюмодели?

leksss-Alekseyevich Автор вопроса

Нет.

Ну тогда не знаю как. советую переходить на MVVM, вьюмодель упрощает жизнь.

leksss-Alekseyevich Автор вопроса

Вот такой экран. Я же могу использовать ContactsViewModel чтобы из этого фрагмента передать что-то во вложенные в него?

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

leksss-Alekseyevich Автор вопроса

при этом еще у фрагментов можно использовать свои viewModels?

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

leksss-Alekseyevich Автор вопроса

Есть одна mainActivity и все

отлично, ковыряй ее. можешь еще узнать, можно ли прямо у фрагмента А взять вьюмодель в Б и С, вместо вьюмодели активити. это уже гуглить надо или здесь спрашивать

https://t.me/android_ru/914450 вот, гугли как это сделать

leksss-Alekseyevich Автор вопроса

мне по сути во фрагменте Б нужно выбрать несколько элементов, отобразить это число в тулбаре фрагмента А и потом при клике на унопку "удалить" удалить эти элементы во фрагменте Б.. Подойдет шаредВьюмодел тут?

я не знаю что такое шаредВьюмодель, гугли how to access parent viewModel from fragment

Похожие вопросы

Обсуждают сегодня

Добрый вечер. Есть вопрос, а может и предложение. Был у меня диалог в другой группе о делфи и я задался вопросом: "А нельзя ли в делфи цвет //коментария и {комментария} сде...
Kraszx
24
Всем привет! Подскажи, пожалуйста, как передать в TComboBox сразу значение и id записи. На Delphi я делал так: ComboBox1.Items.AddObject('Какое-то значение', Pointer(id запис...
Евгений
13
Мдя, прикол, боевая сборка запускается (именно под отладчиком) после F9 примерно полторы минуты (97 секунд если быть точным). Начал копать - проблема детектится сразу - зависа...
Александр (Rouse_) Багель
38
я так понимаю, я так подозреваю, что создание такого плагина для человека, кто умеет писать плагины для делфи потребует минут 5-10 времени. но это мое подозрение. хотелось бы ...
Kraszx
7
Товарищи, кто работа с iphelper? Или может я в самой логике ошибки фигачу, не пойму.... var ifTable : PMIB_IFTABLE; size, corSize: DWORD; Buffer ...
Warfarellen
4
Здравствуйте, вопрос по структурам данных. Были у вас случаи, когда пришлось писать деревья или двунаправленные списки?
/ /
50
Коллеги, добрый вечер. Создаю коллекцию от TFPGMap, ключ - перечисление, значение - целое. Нужно отсортировать коллекцию по значению. Как это можно сделать?
Kirill Filippenok
11
Скажи а ты когда этот канал создавал ты уже дельфи не любил, или это со временем пришло?
Роман Лях (rgreat)
18
Привет, такой вопросик появился кажется ли вам что Rust слишком сложный/строгий для высокоуровневого программирования и слишком "безопасный"/строгий для низкоуровневого?
Крокант
10
Всем привет! Использую кастомное модальное диалоговое окошко, все по классике - mrOK, mrCancel как ModalResult. Однако есть нюанс - в главной форме есть универсальный обработч...
Олег Гранишевский
20
Карта сайта