intent几种传值数组、对象、集合(Array,Object,List)
2012-03-29 13:23 omgee 阅读(11465) 评论(0) 编辑 收藏 举报1.Array
private ArrayList<String> checkList=new ArrayList<String>(); Intent intent=new Intent(mytext.this,show.class); intent.putStringArrayListExtra("list", checkList); startActivity(intent);
调用
Intent intent=this.getIntent(); ArrayList<String> list=intent.getStringArrayListExtra("list"); ArrayList<HashMap<String,String>> mylist=new ArrayList<HashMap< String,String>>(); ///listview使用 ListView listview=(ListView)findViewById(R.id.MyListView); for(int i=0;i<list.size();i++) { HashMap<String,String> map=new HashMap<String,String>(); map.put("ItemTitle", list.get(i).toString()); mylist.add(map); } SimpleAdapter mSchedule=new SimpleAdapter(this,mylist,R.layout.show,new String[]{"ItemTitle","ItemTitle"},new int[]{R.id.ItemTitle,R.id.ItemTitle}); listview.setAdapter(mSchedule);
2.对象、列表(object,List)
前面都一样,上遍文章已经讲解,这边补充一下,只讲一个Serializable的。。另一个Parcelable都差不多,各自实现各自的接口,调用的时候可以不用那么麻烦,真心不喜欢用Bundle ,挺多此一举的
改写
如果是List
List<Parking_Info> list=new ArrayList<Parking_Info>();//搜索结果集合
Intent intent=new Intent(LinkMap.this,MapList.class); intent.putExtra("list", (Serializable)list); startActivity(intent);
这边直接强制转化就行了,再接受的时候用(List<Parking_Info>) getIntent().getSerializable("list")就可以接受到List<Parking_Info>数据了
Listlist=(List)getIntent().getSerializableExtra("list");
调用起来倒也方便的
具体调用,遍历代码
@Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.listmain); // List<Parking_Info> list=(List<Parking_Info>)getIntent().getSerializableExtra("list"); //创建适配器 SimpleAdapter adapter = new SimpleAdapter(this,getData(),R.layout.maplist, new String[]{"name","kongwei","code","addr"}, new int[]{R.id.name,R.id.kongwei,R.id.code,R.id.addr}); setListAdapter(adapter); // ListView listview=(ListView)findViewById(R.id.SearchList); // listview.setAdapter(adapter); }; private List<Map<String, Object>> getData() { List<Map<String, Object>> list = new ArrayList<Map<String, Object>>(); //获取参数 List<Parking_Info> mylist=(List<Parking_Info>)getIntent().getSerializableExtra("list"); for(int i=0;i<mylist.size();i++) { Map<String, Object> map = new HashMap<String, Object>(); map.put("name",mylist.get(i).getPrk_name()); map.put("kongwei","空位:"+mylist.get(i).getKongwei()); map.put("code","收费:"+ mylist.get(i).getCode()); map.put("addr","地址:"+mylist.get(i).getPrk_addr()); list.add(map); // Toast.makeText(this, mylist.get(5).getPrk_name(), Toast.LENGTH_LONG).show(); } return list; }
Crazy Cherry:everything is possible!