Форум программистов, компьютерный форум, киберфорум
Программирование Android
Войти
Регистрация
Восстановить пароль
 
23 / 23 / 0
Регистрация: 26.02.2014
Сообщений: 657
1

Как можно отписать observer если данные уже получены?

22.04.2020, 11:27. Просмотров 321. Ответов 5
Метки нет (Все метки)


Здравствуйте всем!

подскажите пожалуйста,

в фрагменте observer подписан на получение данных LiveData(Viewmodel), когда данные пришли нужно как-то остановить подписку чтобы этот метод можно было выполнить заново (когда пользователь нажмет на кнопку еще раз для получения новых данных)?

Спасибо за совет!
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
22.04.2020, 11:27
Ответы с готовыми решениями:

Как построить график в Excel программно, если данные получены из MSFlexGrid VB6
Всем привет! Я сделал програмку в VB6 для расчёта трансцендентного уравнения. Результаты выводятся...

Как можно продолжить поиск записи в БД, если одна такая запись уже найдена?
Как можно продолжить поиск записи в БД, если одна такая запись уже найдена??? используя метод...

Как можно восстановить данные, если они вдруг куда-либо исчезли и можно ли это сделать
Помогите, если кто-нибудь знает как восстановить данные, подскажите, у меня пропала очень важная...

Как именно можно сделать SQLite запрос, если запрос уже сформирован?
Здравствуйте. Помогите понять , как именно можно сделать SQLite запрос , если запрос уже...

__________________
Помогаю в написании студенческих работ здесь.
Записывайтесь на профессиональные курсы Android-разработчиков
5
1407 / 1057 / 373
Регистрация: 08.05.2012
Сообщений: 4,802
22.04.2020, 11:43 2
Ну и в чём проблема по клику кнопки слазить в репозиторий и обновить/перезаписать liveData?
1
23 / 23 / 0
Регистрация: 26.02.2014
Сообщений: 657
22.04.2020, 13:17  [ТС] 3
Цитата Сообщение от ExFau$t Посмотреть сообщение
Ну и в чём проблема по клику кнопки слазить в репозиторий и обновить/перезаписать liveData?
а сорри забыл кое что, дело в том что когда запрос успешен, я так и делаю слазил-обновил..., но когда в репе сработал onFilure, после этого кнопка с повторным запросом не работает (есть мысоль что ждет успешный ответ от первого запроса а он все не приходит) но что с этим делать?
0
1407 / 1057 / 373
Регистрация: 08.05.2012
Сообщений: 4,802
22.04.2020, 15:02 4
Используй MediatorLiveData, чтобы прокинуть из репозитория событие ошибки, а затем из viewModel на view.
1
23 / 23 / 0
Регистрация: 26.02.2014
Сообщений: 657
23.04.2020, 10:32  [ТС] 5
Цитата Сообщение от ExFau$t Посмотреть сообщение
чтобы прокинуть из репозитория событие ошибки,
почти понятно )), просто медиатору я так понял надо отдавать два разных объекта LiveData(успешный и Failure), а метод в репозитории возвращает один return одного типа, что я и не понимаю?
0
23 / 23 / 0
Регистрация: 26.02.2014
Сообщений: 657
28.04.2020, 22:46  [ТС] 6
как показала практика очень просто, если нужно просто остановить получение данных то надо отписать обсервер
Java
1
viewModel.method()?.removeObservers(requireActivity())
, а если нужно выполнить получение данных из LiveData единожды, то просто в методе перед получением данных из Retrofit сделать liveData=null..., хотя узгать как LiveData'й отловить действие из onFailure в Репозитории я бы не отказался... Спасибо за мысли!
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
28.04.2020, 22:46

Заказываю контрольные, курсовые, дипломные и любые другие студенческие работы здесь или здесь.

Mail.ru присылает все сообщения, которые были уже получены на другом ПК
проблема с майл.ру агентом. я на работе переписываюсь по агенту, прихожу домой, включаю агент, и...

Не записать если уже есть такие данные
Не корректно выполняется условия. Пишет что Базе уже существует: дом {$num_home} на улице...

Если на сайте уже стоит директ, можно ли
Здравствуйте. Если на сайте уже стоит код для директа яндекса, можно ли еще и код сэйпа ставить?...

Почему в Map можно добавлять данные, если он помечен как final?
Например, есть метод. В этом методе объявлено Map map = new HashMap(); Далее ниже создается...

Что можно почитать, если уже знаешь основы?
Что можно почитать,если уже знаешь основы? С основами,как я вижу,ничего толкового сделать нельзя.

IntentService -> Singleton Observable <-> Activity Observer можно ли?
Вобщем у меня есть IntentService, который получает данные, отправляет в синглтон и вырубается, до...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2021, vBulletin Solutions, Inc.