intent几种传值数组、对象、集合(Array,Object,List)
http://www.cnblogs.com/userbibi/archive/2012/03/29/2423202.html
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;
??????????
}