2012-02-17 24 views
8

Trong ứng dụng Android của tôi, tôi có một hoạt động có chứa một đối tượng Parcelable (thực hiện Parcelable).Làm thế nào để viết một bản đồ vào một bưu kiện?

Đối tượng đó chứa bản đồ.

Khi tôi cố gắng làm như sau trong phương pháp writeToParcel():

parcel.writeMap(myMap); 

tôi nhận được những nhận xét sau đây từ API:

Vui lòng sử dụng writeBundle (Bundle) để thay thế. Flattens một bản đồ vào bưu kiện tại dataPosition hiện tại(), tăng dataCapacity() nếu cần thiết. Các phím Bản đồ phải là đối tượng String. Giá trị Bản đồ được viết bằng cách sử dụng writeValue (Object) và phải tuân thủ đặc điểm kỹ thuật tại đó.

Tôi phải làm như thế nào? Làm cách nào để sử dụng writeBundle(myMap) tại đây?

+0

Bạn có thể nhận được một số trợ giúp từ [tại đây] (http://stackoverflow.com/questions/8254654/how-convert-write-java-util-map-into-parcel-in-a-smart-way). –

+0

http://android-orchestration.googlecode.com/svn-history/r162/trunk/Orchestration/src/orchestration/android/parcelable/ParcelableAndroidTaskDTO.java –

+0

Cảm ơn cả hai, vì vậy không có cách viết đơn giản nào. Dường như tôi cần chèn từng mục bản đồ thực tế. – Chaiavi

Trả lời

5

Gói chỉ là bản đồ. Lặp lại thông qua bản đồ của bạn, đặt từng ánh xạ vào một đối tượng Bundle mới được tạo và gọi writeBundle trên nó. Có thể không phải là giải pháp tốt nhất, nhưng, một giải pháp khả thi.

Các vấn đề liên quan