6

マーカーParcelableは,インターフェイスを実装していませんSerializableが、Activity onPause/間で永続化する必要がonResumeあるため、どうすれば永続化できますか? 現在のすべてのマーカー リストを取得するにはどうすればよいですか (getMarkers() メソッドがどこにも見つかりません)。

次のケースを想像してみてください。長時間実行されるタスクを追加して実行Markerし始め、マーカーのビューを更新しました。AsyncTaskタスクが進行中で、向きを変えると、アクティビティが再作成されます。タスクが終了した後にそのマーカーを更新するにはどうすればよいですか? マーカーの ID を永続化できると想像してみましょう。マーカーはフラグメントによって自動的に保存されます(想像してみてください)。アクティビティが再作成された後、ID を使用してそれを見つけるにはどうすればよいでしょうか?

4

4 に答える 4

10

オブジェクトは永続化MarkerOptionsできるので、オブジェクトを永続化し、そこからオブジェクトをParcelable再作成Markerできます。

于 2013-04-11T13:18:10.147 に答える
4

Markers は「UI 状態」の一部ではないため、構成の変更時に保存/復元しないでください。

Marker構成を変更すると、最初に表示されたときに使用したものとまったく同じコードを使用して、すべての を再作成するだけですGoogleMap

本当にそれらを永続化したい場合 (これは私の観点からは非常に悪い考えです)、これは手動で行うことで可能ですonSaveInstance(Bundle outState)


編集:「Android状態の復元の詳細」を参照してください

于 2012-12-11T09:05:21.347 に答える
3

現在これを行う方法はないようです: http://code.google.com/p/gmaps-api-issues/issues/detail?id=4650

于 2012-12-11T08:52:09.307 に答える