3 つの異なる MapActivities で地図を表示するアプリを開発しています。
これを実現するために、この 3 つの FragmentActivities 全体で MapFragment を再利用します。この 3 つの FragmentActivitiesは、 Android 互換パッケージのPete Doyleのポートを使用して MapActivities を拡張します。
この MapFragment で使用される MapView は、Application Contextに保持されます。
「このビューには既に親があります」というエラーを回避するために、別のアクティビティを開くときに現在の親からビューを削除します。
ViewGroup parentViewGroup = (ViewGroup) app.mapViewContainer.getParent();
if( null != parentViewGroup ) {
parentViewGroup.removeView(app.mapViewContainer);
}
電話の戻るボタンを押して前の MapActivity に到達するまで、すべて正常に機能します。現時点では、アクティビティを変更するときに MapView を親から削除したため、MapView はすべて黒であり、戻るボタンはビューの再作成をトリガーしません...
私はこの投稿を認識しています: How to use multiple MapActivities/MapViews per Android application/process
実際のところ、Danny Remington - MacroSolveの回答から、活動全体で MapView を再利用するというアイデアを得ました。
実装しようとしているソリューションはリソースがはるかに少ないと信じているため、複数のプロセスを使用しようとはしていません。
どんな助けでも大歓迎です!