国产成人精品亚洲777人妖,欧美日韩精品一区视频,最新亚洲国产,国产乱码精品一区二区亚洲

您的位置:首頁技術文章
文章詳情頁

android - Activity之間傳遞Map<String,Object>

瀏覽:189日期:2024-09-07 15:53:16

問題描述

listview.setOnItemClickListener(new OnItemClickListener() {

@Overridepublic void onItemClick(AdapterView<?> parent, View view,int position, long id) { Intent it = new Intent(getActivity(), ReleaseDetail.class); final SerializableMap myMap = new SerializableMap(); myMap.setMap(tempList);// 將map數據添加到封裝的myMap中 Bundle bundle = new Bundle(); bundle.putSerializable('map1', myMap); it.putExtras(bundle); startActivity(it); getActivity().finish();} });

public class SerializableMap implements Serializable {

private static final long serialVersionUID = 3958588986554810147L;private Map<String, ReleaseContents> map;public Map<String, ReleaseContents> getMap() { return map;}public void setMap(Map<String, ReleaseContents> tempMap) { this.map = tempMap;}

}

ReleaseContents是一個實體類也實現了Serializable 接口還是報以下錯誤呢?。。?/p>

07-12 12:51:58.093: E/AndroidRuntime(12270): java.lang.RuntimeException: Parcelable encountered IOException writing serializable object (name = XXX.SerializableMap)XXX查資料說是對象也是要先序列化接口,我ReleaseContents都實現了的呀!請問是哪里錯了哦!

android - Activity之間傳遞Map<String,Object>

android - Activity之間傳遞Map<String,Object>

問題解答

回答1:

ReleaseContents類下使用到的類也需要實現Serializable接口,例如你的ReleaseContents類里面有個屬性是Version類,那么這個Version類也許實現Serializable接口。

回到你的例子,很明顯,在ReleaseContents類有個屬性是Bitmap類,Bitmap并沒有實現Serializable接口,而是實現了Parcelable接口。

回答2:

使用Android的序列化類,而非是傳統的java序列化類Parcelable 這個?;蛘呃肎son工具將map轉化成String,然后傳遞再解析成map

回答3:

map沒有實現序列化的接口,無法實現序列化,可以嘗試一下hashmap,hashmap原本就可以保存在bundle中,也可像樓上一樣使用parcelable實現這個速度也更快。

回答4:

用一個CacheUtil,把這map保存在內存中

相關文章:
主站蜘蛛池模板: 三江| 涟源市| 宜宾市| 沁阳市| 远安县| 南澳县| 女性| 科技| 南乐县| 尚义县| 通河县| 通化市| 隆回县| 屏边| 航空| 兴隆县| 射洪县| 达州市| 柘城县| 大连市| 扎兰屯市| 博乐市| 兴宁市| 区。| 正镶白旗| 密山市| 太康县| 常熟市| 开封县| 南皮县| 奈曼旗| 金门县| 太原市| 永嘉县| 三门县| 涿鹿县| 宜昌市| 恩平市| 芒康县| 柘城县| 仁寿县|