【发布时间】:2015-01-04 05:36:43
【问题描述】:
我正在开发一个 android 应用程序,我对 android 环境相当陌生。我正在使用谷歌地图,并放下一个别针。当用户选择图钉时,会出现一个原本隐藏的按钮,按下该按钮可以删除地图上的图钉。但是,当屏幕旋转时(并且引脚保持选中状态),删除按钮会消失。即使在屏幕旋转后,如何保持此按钮可见?注意:只有当用户在地图上选择了一个大头针时,该按钮才可见。
这是我用来设置标记点击监听器的代码:
map.setOnMarkerClickListener(new GoogleMap.OnMarkerClickListener() {
public boolean onMarkerClick(final Marker marker) {
marker.showInfoWindow();
currentMarker = marker;
deleteButton = (ImageButton) findViewById(R.id.delete_button);
deleteButton.setVisibility(View.VISIBLE);
deleteButton.setOnClickListener(new View.OnClickListener() {
public void onClick(View v) {
marker.remove();
deleteButton.setVisibility(View.GONE);
}
});
return true;
}
});
我还重写了onPause() 方法,因此我可以调用 save MapFragment 的状态,如下所示:
@Override
protected void onPause() {
super.onPause();
MapFragment mapFragment = (MapFragment) getFragmentManager()
.findFragmentById(R.id.map);
mapFragment.setRetainInstance(true);
}
所有这些代码都可以正常工作,除非我旋转设备并且即使标记保持选中状态按钮也会消失。保持此按钮可见的最佳方法是什么?
【问题讨论】:
标签: android google-maps android-activity android-fragments android-button