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

Всем привет, кто сможет помочь с вопросом. Я создал Adapter

(val adapter: Adapter? = null) во фрагменте, присваиваю значения в onViewCreated. После этого у меня в коде вызывается DialogFragment, в котором создаётся объект, тип которого это интерфейс. Дальше переопределяю метод onDismiss, в котором вызываю метод этого интерфейса. После чего переопределяю этот метод в Активити, чтобы сохранить данные в БД, также переопределяю этот метод во фрагменте, где пытаюсь обновить свой Recyclerview, т.к. данные обновились. Но он пишет, что Adaper у меня равен null. Почему адаптер в переопределеном методе интерфейса обнуляется?

15 ответов

24 просмотра

Активити и фрагмент наследуют этот интерфейс? Если да, то этот объект должен передаваться, а не создаваться

Andrey-Andrey Автор вопроса

Да, проблема вся в обновлении адаптера, который находится во фрагменте, я его создал и инициализировал во фрагменте. Когда я переопределяю метод интерфейса и пытаюсь в нем же обновить адаптер, то в этом методе адаптер равен null

Andrey-Andrey Автор вопроса

Я посмотрел логировал вызовы методов, в onViewCreated нормально инициализируются адаптер, в onResume проверил адаптер, он там не null. Для меня это очень странно, почему после закрытия DialogFragment, который накладывается поверх моего Fragment, адаптер снова становится null

нажми на адаптер, и посмотри где меняется переменная

А фрагмент обязателен для этого диалога?

Andrey-Andrey Автор вопроса

Да

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

Andrey-Andrey Автор вопроса

Просто этот DialogFragment вызывается не только в этом фрагменте, поэтому не могу так сделать

Вы обсерверами данных не пользуетесь что ли?

Andrey-Andrey Автор вопроса

Нет, так как эти данные должны хранится в бд, которые поступают из DialogFragment

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

Мне кажется, без кода хрен че тут понятно будет

Andrey-Andrey Автор вопроса

Я по уровню даже не Джун, по моему мнению, поэтому не могу придумать, как отследить жизненный цикл адаптера в логах)

Банально переопределите setter адаптера и туда поместите println()

поэтому и пиши в лог вызовы всех методов жизненного цикла фрагментов и проверяй на ноль адаптер, увидишь когда он меняется

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

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

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