当前位置:操作系统 > 安卓/Android >>

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 ,
CopyRight © 2022 站长资源库 编程知识问答 zzzyk.com All Rights Reserved
部分文章来自网络,