以前用到的沒整理,現在整理下,方便用:
一般介面返回一個list我們不能直接傳遞,定義為static類型吧,佔用記憶體又太大,所以我們想辦法定義為普通變數,通過itent傳遞,這個時候我們就必須把自訂的model實現序列化,繼承Parcelable介面。直接貼代碼:
public class CityListInfo implements Parcelable;
List<CityListInfo> cityListInfos = new ArrayList<CityListInfo>();
List<Map<String, JSONDataHolder>> hotCityList = jsonParcel
.get("data").getJsonObjectMap().get("hotCityList")
.getList();
if (null != hotCityList && hotCityList.size() > 0)
{
for (int i = 0; i < hotCityList.size(); i++)
{
CityListInfo ci = new CityListInfo();
ci.cityId = hotCityList.get(i).get("cityId").getString();
ci.cityPinyin = hotCityList.get(i).get("pinyin")
.getString();
ci.cityName = hotCityList.get(i).get("cityName")
.getString();
cityListInfos.add(ci);
}
}
mCityListInfo = (List<CityListInfo>) msg.obj;
intent.putParcelableArrayListExtra("cityName",
(ArrayList<CityListInfo>) mCityListInfo);
ArrayList<CityListInfo> cityInfos = this.getIntent()
.getParcelableArrayListExtra("cityName");
這樣可以理解了吧。