OnChanged () вызывается, когда я возвращаюсь с экрана? - PullRequest
0 голосов
/ 17 июня 2020

У меня проблема со спиной. Я использую java с данными в реальном времени. и когда я перехожу от фрагмента A к фрагменту B, он работает. но когда я возвращаюсь от B к A, наблюдатель по-прежнему звонит снова. Может ли кто-нибудь помочь с этим в JAVA.

1 Ответ

0 голосов
/ 17 июня 2020

Это потому, что LiveData не предназначена для обработки одноразовых событий.

У вас есть несколько вариантов:

  1. SingleLiveData

SingleLiveData, как было представлено в Google Android Образец - это LiveData, который отправляет обновление только один раз.

SingleLiveData

EventWrapper (Если вы собираетесь придерживаться LiveData для обработки событий, я рекомендую этот)
FragmentAViewModel {
    val navigateLiveData = MutableLiveData<EventWrapper<Unit>>()
}

Эта замечательная статья демонстрирует EventWrpper и одиночные LiveData

Шина событий
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...