|
我有活动。
在活动中,我在onCreate中拥有此功能:
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
settings = (GlobalSettings) getApplication();
mappingServiceContent = settings.getMappingServiceContent();
mapView = settings.getMapView();
if (mapView == null)
{
mapView = new RMapView(RCoordinateSystemFactory.createFromCrsCode(\"EPSG:2170\"));
settings.setMapView(mapView);
settings.isFirstTime = true;
}
else
{
settings.isFirstTime = false;
}
RelativeLayout relativeLayout = new RelativeLayout(this);
myMapView = new MyMapView(this, this.getWindowManager(), settings);
zoomControls = new ZoomControls(this);
registerForContextMenu(myMapView );
RelativeLayout.LayoutParams mapViewLayoutParams = new RelativeLayout.LayoutParams
(RelativeLayout.LayoutParams.FILL_PARENT,RelativeLayout.LayoutParams.FILL_PARENT );
relativeLayout.addView(myMapView, mapViewLayoutParams);
RelativeLayout.LayoutParams zoomControlsLayoutParams = new RelativeLayout.LayoutParams(RelativeLayout.LayoutParams.WRAP_CONTENT, RelativeLayout.LayoutParams.WRAP_CONTENT );
zoomControlsLayoutParams.addRule (RelativeLayout.ALIGN_PARENT_BOTTOM);
zoomControlsLayoutParams.addRule(RelativeLayout.CENTER_HORIZONTAL);
relativeLayout.addView(zoomControls,zoomControlsLayoutParams);
zoomControls.setOnZoomInClickListener(new View.OnClickListener() {
public void onClick(final View v) {
myMapView.ZoomIn();
}
});
zoomControls.setOnZoomOutClickListener(new View.OnClickListener() {
public void onClick(final View v) {
myMapView.ZoomOut();
}
});
myMapView.setClickable(true);
myMapView.setEnabled(true);
setContentView(relativeLayout);
}
MyMapView是这样创建的视图:
public class MyMapView extends View
在我的活动中,我添加了:
@Override
public void onCreateContextMenu(ContextMenu menu, View v,ContextMenuInfo menuInfo) {
super.onCreateContextMenu(menu, v, menuInfo);
menu.setHeaderTitle(\"Context Menu\");
menu.add(0, v.getId(), 0, \"Action 1\");
menu.add(0, v.getId(), 0, \"Action 2\");
}
但是,如果我将手指放在屏幕上,上下文菜单将永远不会被触发。
我一定想念一些东西... some1可以帮助我吗?
问候。