onLocationChanged вызывает метод onDraw в моем пользовательском представлении - PullRequest
1 голос
/ 11 июля 2011

У меня есть класс активности MapImageViewer, в котором есть методы для проверки местоположения GPS на телефоне.Затем это действие вызывает мое собственное представление MapCanvas, где конструктор принимает значения широты и долготы, а затем рисует круг с соответствующими пикселями на изображении карты.

Это работает нормально, но мне интересно, как я могу обновлять и вызывать метод onDraw каждый раз, когда меняются координаты GPS?Я знаю, что он должен идти в методе onLocationChanged ... но я не уверен, как передать новые значения широты и долготы оттуда в мой класс Custom View.

Ответы [ 2 ]

0 голосов
/ 11 июля 2011

Как насчет отправки широты / долготы из метода onLocationChanged() с помощью .sendBroadcast() и обработки их внутри класса View с помощью BroadcastReceiver?

В качестве альтернативы вы можете использовать метод обратного вызова из LocationListener, как показано в этом посте.

0 голосов
/ 11 июля 2011

Вызывать метод представления invalidate() каждый раз, когда вы получаете новые координаты (или postInvalidate(), если locationListener находится в потоке, отличном от потока пользовательского интерфейса)

...