0

我正在使用生成航點的MapView中的itemizedOverlay。我有能力根據需要修改,添加,刪除這些航點。該MapView將該屏幕作爲帶有listView片段的片段共享。目前,該片段的目的是顯示地圖中的航點,並允許它們被刪除,移動或使用listFragment。所有這些現在都起作用。在itemizedOverlay下創建共享項目

我遇到的問題是兩個片段都保存自己的航點列表副本。 I.E.如果我使用mapview刪除航點,則itemizedOverlay類必須調用ListFragment函數以從其自己的列表中刪除航點。這變得很難看,很快就會有自己的問題。在listView,itemizedOverlay或單獨的類文件中有單個列表會更好。

在其他應用程序(基於C++或Java)中,我通常創建另一個類作爲單例,它保存將在地圖和列表視圖之間共享的信息。在使用Android時,這仍然是處理此問題的最佳方式,還是有另一個更好的內置選項可供使用?

回答

0

如果您持有對擴展Application類項目的類的引用,則可以使用列表的單個實例。有關此方法的更多信息,請參閱here

+0

你回答的作品,但是,我已經建議,最好使對象Parcelable。這很簡單,最後需要我使用bundle將對象傳遞給片段。我知道這兩種方法都很簡單,除了Parcelable方法有其自身的細微差別,需要編碼人員按特定順序排列物品。有更好的選擇嗎?看來android更喜歡Parcelable。 – orion 2012-09-17 19:29:21

+0

另一種我認爲可行的方法是在保存你的兩個Fragments的'Activty'中保存你的航點列表參考,並使用get和set方法訪問你的航點列表。你可以使用[getActivity](http://developer.android.com/reference/android/app/Fragment.html#getActivity%28%29)方法獲得'Fragment'的相關'Activity'。 – Angelo 2012-09-18 06:48:44

+0

我嘗試過以及使用應用程序方法。我實際上能夠完成所有三種方法,但是我只是不確定哪種方法是最好的/最乾淨的。 – orion 2012-09-18 16:36:42