android - Android MapsActivity - onclick 重新加载活动
问题描述
我在 MapsActivity 中有一个带有 3 个可点击按钮的谷歌地图。每个按钮在地图上显示不同的标记。
这是通过以下方式实现的:
public void AllMap(View v) //first button
{
SharedPreferences mypref = PreferenceManager.getDefaultSharedPreferences(this);
SharedPreferences.Editor prefsEditr = mypref.edit();
prefsEditr.putInt("mapselect", 1);
prefsEditr.apply();
finish();
Button button = findViewById(R.id.allmap);
button.setCompoundDrawablesWithIntrinsicBounds( 0, R.drawable.allmapon, 0, 0);
button.setTextColor(Color.parseColor("#ff5722"));
startActivity(getIntent());
}
然后在地图设置中,我阅读了 SharedPreferences 并根据所选选项在地图上添加标记。
这工作正常,但在我点击后,整个活动重新加载,但它似乎是一个从右到左的幻灯片动画。所以新重新加载的活动来自设备的右侧。
我没有动画或类似的设置,但似乎这是我设备上所有活动的默认行为。但是它在 MapsActivity 中似乎不是很好。有没有办法在不重新启动 MapsActivity 的情况下刷新它 - 所以只有标记会改变?
我应该叫什么而不是finish(); startActivity(getIntent());
?
解决方案
我应该叫什么而不是finish(); 开始活动(getIntent());刷新地图?
mMap.clear()
您可以通过调用并根据新的共享首选项值再次添加标记来清除所有现有标记。
或者
您可以将标记的引用保存在 arralist 或其他内容中,以便您可以更改它们在地图中的位置
推荐阅读
- oracle - PL/SQL 程序在 Oracle APEX 中上传超过 45 列的 CSV 的问题
- python - 如何使用 for 循环在另一个矩阵中插入不同的矩阵?
- google-apps-script - 修改代码 - 如果单元格有任何数据,则删除行 - Google 表格/Google Apps 脚本
- xml - Snowflake 中有没有办法处理 XML 编码 ISO-8859-1?
- sql - SQL Server 条件连接
- python - 找不到 Django 页面
- python - 如何将元组转换为具有浮点和字符串值的列表
- javascript - 无法从渲染内部调用渲染外部的函数(在 reactjs 中)
- .net - 针对多个框架的项目上的“dotnet build”仅构建“netstandard2.0”而不生成 nupkg 文件
- javascript - 仅当承诺处于活动状态时如何显示和隐藏弹出窗口?反应