android bundle封装传递map对象

创建一个继承Serializable的类,用于传递不同的map

public class SerializableMap implements Serializable {
    private Map<String,String> stringMap;
    private Map<String,int[]> intsMap;

    public Map<String, String> getStringMap() {
        return stringMap;
    }

    public void setStringMap(Map<String, String> stringMap) {
        this.stringMap = stringMap;
    }

    public Map<String, int[]> getIntsMap() {
        return intsMap;
    }

    public void setIntsMap(Map<String, int[]> intsMap) {
        this.intsMap = intsMap;
    }
}

传递:

private ArrayList<String> dataList = new ArrayList<String>();
  private Map<String,String> statesMap = new HashMap<String, String>();
    private Map<String,int[]> imagesMap = new HashMap<String,int[]>();
     private Map<String,String> judgeIndexMap = new HashMap<String, String>();

 Intent intent = new Intent(UrineResultActivity.this,UrineDetailActivity.class);
                Bundle bundle = new Bundle();
                intent.putExtra("dataList",dataList);
                SerializableMap tmpmap=new SerializableMap();
                tmpmap.setStringMap(statesMap);
                bundle.putSerializable("statesMap", tmpmap);
                SerializableMap tmpmap2=new SerializableMap();
                tmpmap2.setStringMap(judgeIndexMap);
                bundle.putSerializable("judgeIndexMap", tmpmap2);

                SerializableMap tmpmap3=new SerializableMap();
                tmpmap3.setIntsMap(imagesMap);
                bundle.putSerializable("imagesMap", tmpmap3);
                intent.putExtras(bundle);

                startActivity(intent);

读取:

  Intent intent = getIntent();
        dataList = intent.getStringArrayListExtra("dataList");

        Bundle bundle = intent.getExtras();
        SerializableMap serializableMap1 = (SerializableMap) bundle
                .get("statesMap");
        statesMap = serializableMap1.getStringMap();

        SerializableMap serializableMap2 = (SerializableMap) bundle
                .get("judgeIndexMap");
        judgeIndexMap = serializableMap2.getStringMap();

        SerializableMap serializableMap3 = (SerializableMap) bundle
                .get("imagesMap");
        imagesMap = serializableMap3.getIntsMap();
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值