I struggled a lot with the same issue, and finally I found a workaround!
myMapView.addMapViewEventListener(new MapView.MapViewEventListener() {
@Override
public void moveStart(MapView mapView) { }
@Override
public void move(MapView mapView) { }
@Override
public void moveEnd(MapView mapView) { }
@Override
public void touch(MapView mapView) {
annotation.hide();
}
@Override
public void longTouch(MapView mapView) { }
@Override
public void zoomStart(MapView mapView) { }
@Override
public void zoomEnd(MapView mapView) { }
@Override
public void mapLoaded(MapView mapView) { }
});
It basically closes the annotation if clicked anywhere but markers on the map.
Hope it helps someone else who struggles to use the free MapQuest API.