我有以下代码:
setContentView(R.layout.maplayout);
// Create Rotate view
mRotateView = new RotateView(this);
// create a map view
mapView = (MapView) findViewById(R.id.mapview);
mRotateView.addView(mapView); // error here
setContentView(mRotateView);
mylocation = new MyLocationOverlay(this,mapView);
但是当我添加视图时,我收到一条错误消息,指出指定的子节点已经有父节点。我认为这是因为mapView已经是布局的子项。
那么,我该如何解决这个问题?
答案 0 :(得分:0)
选项#1:将RotateView
放在res/layout/maplayout.xml
资源中作为MapView
小部件的父级,因此您无需在Java代码中进行设置。
选项#2:从MapView
资源中删除res/layout/maplayout.xml
,通过其构造函数创建它的实例,并使用Java代码将其添加到RotateView
。
选项#3:在调用removeView()
之前调用父级的MapView
以从中删除addView()
,以将其添加到RotateView
。