我有以下代码:
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);
但是当我添加 View 时,我收到一条错误消息,指出指定的 subview 已经有一个父 View 。我认为这是因为 mapView 已经是布局的子项。
那么,我该如何解决呢?
最佳答案
选项 #1:输入 RotateView
在你的res/layout/maplayout.xml
资源作为 MapView
的父级小部件,因此您不必在 Java 代码中进行设置。
选项 #2:删除 MapView
来自你的 res/layout/maplayout.xml
资源,通过其构造函数创建它的实例,并将其添加到您的 RotateView
在 Java 代码中。
选项 #3:调用 removeView()
在父级上删除 MapView
在调用之前从它addView()
将其添加到 RotateView
.
关于Android MapView 试图添加 View ,但已经有父 View ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10029576/