我试图在onInfoWindowClick中开始一个意图,但它冻结了:

@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)

它工作得很好。

最佳答案

我遇到了同样的问题。我怀疑infowindow必须在任何事情开始之前被关闭,所以同步地改变视图(或活动)是行不通的。
我不确定这是否是最好的解决方案,但我使用postdelated()解决了这个问题,如下所示:

@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);
    }

};

关于android - android map v2 gms在onInfoWindowClick中启动Intent,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/13922287/

10-12 13:51