【问题标题】:Android MapView trying to add view, but already has parentAndroid MapView 尝试添加视图,但已经有父视图
【发布时间】:2012-04-05 13:31:53
【问题描述】:

我有以下代码:

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 已经是布局的子项。

那么,我该如何解决呢?

【问题讨论】:

    标签: android view map


    【解决方案1】:

    选项#1:将RotateView 放入res/layout/maplayout.xml 资源中作为MapView 小部件的父级,因此您不必在Java 代码中进行设置。

    选项 #2:从您的 res/layout/maplayout.xml 资源中删除 MapView,通过其构造函数创建它的实例,然后使用 Java 代码将其添加到您的 RotateView

    选项#3:在调用addView() 将其添加到RotateView 之前,调用父级上的removeView() 以从中删除MapView

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多