Android Intent 传递集合

Android Intent 传递集合也很简单,主要就是调用 putXxxArrayListExtra() 方法和 getXxxArrayListExtra() 方法

List< 基本数据类型 或 String>

写入集合

intent.putStringArrayListExtra(name, value)
intent.putIntegerArrayListExtra(name, value)

读取集合

intent.getStringArrayListExtra(name)
intent.getIntegerArrayListExtra(name)

List<Object>

Object 类首先要实现 Serializable 接口

然后将 List 强转成 Serializable 类型,然后传入(可用 Bundle 做媒介)

写入集合

putExtras(key, (Serializable)list)

读取集合

(List<Object>)getIntent().getSerializable(key)

Map<String, Object> 或更复杂的

外层套个 List,然后参考 List<Object>

//传递复杂些的参数 
Map<String, Object> map1 = new HashMap<String, Object>();  
map1.put("key1", "value1");  
map1.put("key2", "value2");  
List<Map<String, Object>> list = new ArrayList<Map<String, Object>>();  
list.add(map1);  

Intent intent = new Intent();  
intent.setClass(MainActivity.this,ComplexActivity.class);  
Bundle bundle = new Bundle();  

//须定义一个list用于在budnle中传递需要传递的ArrayList<Object>,这个是必须要的  
ArrayList bundlelist = new ArrayList();   
bundlelist.add(list);   
bundle.putParcelableArrayList("list",bundlelist);  
intent.putExtras(bundle);                
startActivity(intent);

Android 基础教程

关于   |   FAQ   |   我们的愿景   |   广告投放   |  博客

  简单教程,简单编程 - IT 入门首选站

Copyright © 2013-2022 简单教程 twle.cn All Rights Reserved.