2012-04-20 26 views
0

私は5つの異なる活動をしています。Android - 5つのアクティビティと最初のアクティビティの状態を切り替える

最初のアクティビティは、アプリケーションの最初のページです。上にナビゲーションバーがあり、5つのアクティビティ間を移動できます。

私が直面している問題は、別のアクティビティ(アクティビティ1からアクティビティ2など)に戻るとき(アクティビティ2からアクティビティ1に戻る)、自分のアクティビティ1はMapViewをレンダリングしません。アプリケーションがアクティビティを切り替えていない場合、MapViewは正常に動作します。私は現在、このコードを使用しています

活動の間を移動するには:

コードを1

startActivity(new Intent(Activity1.this, Activity2.class)); 

コードのアクティビティに現在のアクティビティ2

startActivity(new Intent(Activity2.this, Activity1.class)); 

に私は戻って移動するために管理する唯一の方法アクティビティ1へは、電話の戻るボタンを押すことです。しかし、別の問題に直面します。

2つ以上のアクティビティ(アクティビティ1〜アクティビティ2、アクティビティ3)を移動した場合、戻るボタンはアクティビティ3からアクティビティ2、アクティビティ1に移動します。この問題を克服するためのstackoverflowのいくつかの例)

マップビューの主な問題の原因は私が正しく構成していないためにレンダリングされませんか?

これは、アクティビティの切り替え方法によって発生しますか?あなたの最初の問題のために

答えて

1

、私はあなたの例では、あなたが行うことができ、あなたが例えばIntent.setFlags(Intent.FLAG_ACTIVITY_???)

にメソッドやパラメータを調査勧め:

コード活動1で

// No change here 
startActivity(new Intent(Activity1.this, Activity2.class)); 

コードでアクティビティ2

Intent i = new Intent(Activity2.this, Activity1.class); 
i.setFlags(Intent.FLAG_ACTIVITY_REORDER_TO_FRONT); 
startActivity(i); 

構築したアクティビティのスタックを停止し、アプリを終了するために多くの戻るボタンが必要になります。あなたの5つのアクティビティでは、メインアクティビティ1はデフォルトを使用してアクティビティ2、3、4、5を起動し、他のすべてのアクティビティはFLAG_ACTIVITY_REORDER_TO_FRONTを使用してアクティビティ1に戻る必要があります。

2番目の問題については、より多くの情報が必要です。ここから実際に質問を削除し、関連するコードとLogCatの出力とともに別のクエリとして再投稿することをお勧めします。始動活動と直接結びついていない可能性が最も高い。

+0

こんにちは、私はあなたの提案を試み、肯定的な応答を受けました。 MapViewはmapLayerを表示できます。しかし、mapLayerがすでにロードされているマップを表示している場合(完全にロードされているマップが表示されている場合)、またはArcGisマップサーバーから地図をロードし始めている(マップがロードされていることを示すビジュアルサイン)場合があります。別の問題は、私のmapLayerが表示することはできますが、私のgraphicsLayerはまだ表示されていません。 MapViewにgraphicsLayerが含まれているかどうか、graphicsLayerにコンテンツ(グラフィックス)があり、どちらも正の値を返したらテストしました。 –

関連する問題