【发布时间】:2020-08-10 13:41:55
【问题描述】:
目前我有两个片段,一个显示一个地方的天气,另一个让您在地图中选择一个点并将您重定向到另一个显示该点天气的片段。
我想要实现的是默认情况下拥有用户的位置,并通过转到选择任何其他地方的地图为用户提供选项。所以我想:
- 通过 GPS 获取 lat/lng,然后将其“上传”到可以在此片段和地图片段之间共享这些值的某个地方(可能是活动?)
- 如果选择了地图中的某个点,则更新这些值 - 两个片段都可以随时读取,只有地图片段可以更新
我相信我可以粗略地将 getter/setter 添加到我的活动中,然后在片段中将活动投射到我的特定活动中。但这似乎很糟糕。正确的方法是什么? 我现在拥有的:
- MainActivity(通过底部导航栏连接两个片段)
- ForecastFragment(显示纬度/经度的天气)
- 预测视图模型
- 地图片段
- MapViewModel
- 天气存储库
- WeatherAPI(通过 RetroFit 更新值)
我正在使用 dagger 和 kotlin。
谢谢!
【问题讨论】:
标签: android kotlin mvvm retrofit dagger