В настоящее время у меня есть два фрагмента: один показывает погоду для места, а другой позволяет вам выбрать точку на карте и перенаправляет вас на другой фрагмент, показывающий погоду для этой точки.
Что я хотите добиться - это иметь по умолчанию местоположение пользователя и дать возможность пользователю перейти к карте выбора любого другого места. Поэтому я хотел бы:
- Получить широту / долготу через GPS, а затем «загрузить» ее куда-нибудь, чтобы разделить эти значения между этим фрагментом и фрагментом карты (может быть, активность?)
- Если выбрана точка на карте, обновите эти значения. Оба фрагмента могут быть прочитаны в любое время, обновиться может только фрагмент карты.
Я полагаю, что могу сделать это схематично, добавив геттеры / сеттеры к моим активность, а затем во фрагментах приведите активность к моей конкретной деятельности. Но это только кажется плохим. Каков будет правильный способ сделать это? Что у меня сейчас:
- MainActivity (соединяет оба фрагмента через нижнюю панель навигации)
- ForecastFragment (показывает погоду для широты / долготы)
- ForecastViewModel
- MapFragment
- MapViewModel
- WeatherRepository
- WeatherAPI (через значения обновлений RetroFit)
Я использую кинжал и kotlin .
Спасибо!