安卓開發傳遞對象:當Parcelable序列化對象用Intent傳遞發生閃屏或者值不對應時

錯誤提示:

android.os.BadParcelableException: ClassNotFoundException when unmarshalling: 

安卓序列化對象有兩種,一種是Parcelable,另一種是Serializable,當然Parcelable從
某些效率來講是比Serializable要好,雖然實現有點複雜,但是也有開源的插件可使用,
後面會介紹

過程:

當我們用intent傳遞對象時採用Parcelable序列化後,發現傳遞過去的對象的字段
所對應的值不是我們set的時候所對應的或者值是null或者直接閃屏,其實根本原因
是我們在bean類序列化時寫和讀的順序不一致:看下圖

這裏寫圖片描述

上圖,除了id之外,其他順序
不一樣從而在傳遞對象是獲取後的值也會有不一樣的結果(這個值不是我們想要的)

這時候我們只要把順序對好。就可以了,如下圖。

這裏寫圖片描述

讀寫順序一致就OK了!

溫馨提示:
我們這些代碼手寫時太不穩了,所以介紹個插件方便大夥使用,
看看我寫的這篇文章即可!!!
http://blog.csdn.net/qq_33373648/article/details/77600629

此頁面小實例代碼:

https://github.com/pengAndroid/parcelable_test.git

發佈了60 篇原創文章 · 獲贊 53 · 訪問量 7萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章