@James
я даже не действительно ясен, почему ему нужны дополнительные данные, поскольку Вы не звонили бы, удаляет [] на массиве так или иначе, таким образом, я не полностью вижу, почему он должен знать, сколько объектов находится в нем.
После уделения этого некоторого внимания, я соглашаюсь с Вами. Нет никакой причины, почему новое размещение должно должно быть сохранить число элементов, потому что нет никакого размещения, удаляют. С тех пор нет никакого размещения, удаляют, нет никакой причины размещения, нового для хранения числа элементов.
я также протестировал это с gcc на моем Mac, с помощью класса с деструктором. В моей системе новое размещение было не изменение указателя. Это заставляет меня задаться вопросом, является ли это VC ++ проблема, и могло ли это нарушить стандарт (стандарт конкретно не обращается к этому, насколько я могу найти).
Я почти уверен, что единственный способ сделать это - использовать устаревший getZoomControls () MapView или сделать это самостоятельно. . MapController имеет необходимые методы (например, zoomIn () и zoomOut () ).
mapView.getZoomButtonsController()
Хотя это недокументировано (по крайней мере, в javadoc, доступном здесь: com.google.android.maps), я уверен, что это замена устаревшего getZoomControls
Edit: just found out that it is documented, just not in the google api docs but rather here: ZoomButtonsController на developer.android.com
Затем вы можете вызвать getContainer ()
или getZoomControls ()
(в зависимости от того, что вы хотите сделать), чтобы получить доступ к представлению элементов управления зумом.
А затем сделайте что-то вроде
RelativeLayout.LayoutParams zoomParams = new RelativeLayout.LayoutParams(LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT);
zoomParams.addRule(RelativeLayout.ALIGN_PARENT_TOP);
mapView.getZoomButtonsController().getZoomControls().setLayoutParams(zoomParams);
хотя я должен признаться, что не уверен, какой макет использует представление карт, может быть и LinearLayout.