0

ViewSwitcherを使用して、2つのMapViewオブジェクト(GISベース)を切り替えようとしています。でも親のレイアウト(homeScreenLayout)から子ビュー(MapViews)を除去した後ViewSwitcherを使用してマップビューを切り替えることができません

java.lang.IllegalStateException: The specified child already has a parent. You must call removeView() on the child's parent first. 

:しかし、私はmagnifyMap (**line xyz**) mapviewで次の例外を取得します。関連するスニペットは次のとおりです。

1)私の第一MapViewがXMLである:

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" 
android:layout_width="fill_parent" android:layout_height="fill_parent" 
android:id="@+id/homeScreenLayout"> 

<MapView 
    xmlns:android="http://schemas.android.com/apk/res/android" android:id="@+id/map" 
    android:layout_width="fill_parent" android:layout_height="fill_parent"> 
</MapView> 

</RelativeLayout> 

2)マイMapViewが私の活動である第二:

 MapView map = (MapView) findViewById(R.id.map); 
     MapView magnifyMap = new MapView(ActivityMap.this); 
     magnifyMap = _map; 
     magnifyMap.setExtent(new Envelope(_tappedPoint, 3.0, 3.0)); 

3)私はこれらの2つのビューを追加するViewSwitcherを使用しています:

 homeScreenLayout.removeView(map); 
     homeScreenLayout.removeView(magnifyMap); 

     ViewSwitcher viewSwitcher = new ViewSwitcher(ActivityMap.this); 
     homeScreenLayout.addView(viewSwitcher); 

     viewSwitcher.addView(map, 0, new ViewGroup.LayoutParams(LayoutParams.FILL_PARENT, LayoutParams.FILL_PARENT)); 
     // **line xyz** 
     viewSwitcher.addView(magnifyMap, 1, new ViewGroup.LayoutParams(LayoutParams.FILL_PARENT, LayoutParams.FILL_PARENT)); // line xyz 

     viewSwitcher.showNext(); 
+0

アクティビティにつき1つのマップビューしか作成できません。あなたがここで行うことは、間違いなくハックになります。 – Falmarri

+0

@Falmarri - 私は拡大ツールを構築しようとしています。同じアクティビティで2つのmapviewオブジェクトを持たないと、どうすれば実現できますか?イメージの1つをイメージとして表示できる方法はありますか? – user1094717

答えて

0

1つのArcGISに複数のMapViewオブジェクトを含めることはできませんAndroidベースのアプリケーションです。したがって、このタスクを実行するためにViewSwitcherを使用することはできません。

関連する問題