android intent传递list
以前用到的没整理,现在整理下,方便用:
一般接口返回一个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");
这样可以理解了吧。
补充:移动开发 , Android ,