2011-03-03 81 views
2

如何通過Bundle實例將ArrayList<ArrayList<HashMap<String, String>>>的實例從一個Android活動傳遞到另一個活動?Android和通過Bundles傳遞嵌套ArrayList

(我可以用JSON字符串。我想知道是否有更好的方法。)

提前好心感謝你。

回答

2

您可以將它作爲額外的Intent傳遞給您用來啓動新活動。由於ArrayList實現了Serializable,因此您無需執行任何特殊操作即可將其提供給Intent.putExtra()

+0

ya通過Arraylist作爲對象是一個好方法..不需要json和所有...所以1 up .. – 2011-03-03 07:15:07

+0

@ Ganapathy:對 - 我明白了。謝謝,並且也提供了完整的答案。 – SK9 2011-03-03 08:52:56

+0

請注意序列化效率非常低。這個數據結構有可能包含很多元素,在這種情況下,序列化的低效性可能真的會讓你咬牙切齒。我強烈建議不要這樣做。 – hackbod 2011-03-03 10:07:39

1

通常,通過Intents在活動之間傳遞太多或太大的數據並不好。最好將它們集中存儲在某個地方,並傳遞一個輕量級標識符或類似的東西,這樣其他活動就可以從商店中檢索它們。

E.g.您可以使用Application類來存儲這些數據。只要您的應用程序正在運行,應用程序類就始終可用。你可以通過調用getApplication()方法從每個活動中獲得它。