Android MapView 试图添加 View ,但已经有父 View

标签 android view map

我有以下代码:

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/

相关文章:

java - 像位图一样保存 View ,我只会黑屏

java - 如何从单击项打开 ListView ?

带 View 的 Drupal 首页

c++ - 引用作为 std::map 中的键

java - 如何在 android studio 中对属于不同 Activity 的两个不同列表进行一次搜索?

android - 在 Android 的锁定屏幕上显示自定义信息

c++ - 根据键组合两个映射的值

Java 将值映射到逗号分隔的字符串

android - 应用填充后异常 View 尺寸太小。 (使用 newLatLngBounds(LatLngBounds,int))

android - 设置主机卡仿真