您的位置:首页 > 移动开发 > Objective-C

intent几种传值数组、对象、集合(Array,Object,List)

2012-03-29 13:23 429 查看
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;
}


  
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: