代码改变世界

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;
			 }