Как отправить сообщение слушателю каждый раз, когда массив обновляется? - PullRequest
0 голосов
/ 29 апреля 2020

У меня есть следующий сценарий:

  • класс обслуживания, который вставляет каждые 2 секунды в массив c массив позиции (широта, долгота).
  • фрагмент карты а в методе onReady () вызывается метод получения массива , а затем точки рисуются на карте, проблема заключается в том, что фоновая служба вставляет в массив больше точек метод getter не вызывается.

Поэтому вопрос в том, как уведомить метод onReady () для вызова getPoints () метод каждый раз, когда массив обновляется ? (имейте в виду, что есть два отдельных потока).

Мне нужно реализовать своего рода слушатель в методе onReady (), который прослушивает изменения в массиве местоположений.

Я думал о чем-то, как в Node - эмиттер событий -> слушатель событий, но я не нашел пути для этого. Любые предложения приветствуются, спасибо!

1 Ответ

0 голосов
/ 29 апреля 2020

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

...