我尝试在onInfoWindowClick
中启动一个Intent,但它会冻结:
@Override
public void onInfoWindowClick(Marker marker) {
TabGroupActivity parentActivity = (TabGroupActivity) getParent();
Context context = parentActivity.getApplicationContext();
Intent myIntent = new Intent(context, HouseDetailActivity.class);
parentActivity.startChildActivity("DetailActivity", myIntent);
}
如果我尝试在
中运行相同的代码public boolean onMarkerClick(final Marker marker)
效果很好。
答案 0 :(得分:6)
我遇到了同样的问题。我怀疑InfoWindow必须在任何事情发生之前被解雇,因此同步更改视图(或活动活动)并不起作用。
我不确定这是否是最佳解决方案,但我通过使用postDelayed()解决了这个问题,如下所示:
@Override
public void onInfoWindowClick(Marker marker) {
marker.hideInfoWindow();
// Set some variable here so you know which one was clicked
gMarker = marker;
myHandler.postDelayed(updateMyMap, 50);
}
}
private Runnable updateMyMap = new Runnable() {
@Override
public void run() {
// Take some action on the selection here
setContentView(someView);
}
};