Android MapsActivity-onclick重新加载活动

时间:2018-08-01 18:56:01

标签: android google-maps

我在MapsActivity中有一个Google地图,带有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());

1 个答案:

答案 0 :(得分:2)

  

我应该怎么称呼而不是finish(); startActivity(getIntent());刷新地图?

您可以通过调用mMap.clear()清除所有现有标记,然后根据新的共享首选项值再次添加标记。

您可以将标记的引用保留在叙述列表中,以便更改其在地图中的位置