0

ウェイポイントを生成している MapView 内で itemizedOverlay を使用しています。これらのウェイポイントを必要に応じて変更、追加、削除することができます。この MapView は、画面をフラグメントとして listView フラグメントと共有します。現在、フラグメントの目的は、マップからウェイポイントを表示し、それらを削除、移動、または listFragment を使用して何でもできるようにすることです。これはすべて、現時点で機能します。

私が抱えている問題は、両方のフラグメントが独自のウェイポイント リストのコピーを保持していることです。IE mapview を使用してウェイポイントを削除する場合、itemizedOverlay クラスは ListFragment 関数を呼び出して独自のリストからウェイポイントを削除する必要があります。これは醜くなり、すぐに独自の問題が発生します。listView、itemizedOverlay、または別のクラス ファイルのいずれかに単一のリストを用意することをお勧めします。

他のアプリケーション (C++ または Java ベース) では、通常、別のクラスをシングルトンとして作成し、マップとリストビューの間で共有される情報を保持します。これは、Android で作業するときに問題を処理するための最良の方法ですか、それとも別の組み込みオプションを使用できますか?

4

1 に答える 1

0

プロジェクトのクラスを拡張するクラスへの参照を保持している場合は、リストの単一のインスタンスを使用できますApplication。このアプローチの詳細については、こちらを参照してください。

于 2012-07-20T20:29:39.027 に答える