利用发送序列化对象的ArrayList [英] Sending arraylist of objects using serializable
本文介绍了利用发送序列化对象的ArrayList的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我储存我的JSON数据为对象的数组列表,我的对象类是地点,我利用片段序列化传递数据到另一个活动,但我不是在actvity接受任何值。它接收多余的。包不为null。
我的code是:
片段:
意向意图=新意图(getActivity(),SearchVenueActivity.class); //传值
束束=新包();
bundle.putSerializable(arrayListVenue,arrayListVenue);
intent.putExtras(包);
startActivity(意向);
活动:
如果(getIntent()。hasExtra(arrayListVenue)){
束束= getIntent()getExtras()。
如果(捆绑!= NULL)
rowItems =(ArrayList的<地点及GT;)bundle.getSerializable(arrayListVenue);
其他
Log.e(空,空);
}
地点类别:
公共类场馆实现Serializable { 串venue_id;
串venue_name;
串venue_address;
串venue_city; 公共字符串getVenue_city(){
返回venue_city;
} 公共无效setVenue_city(字符串venue_city){
this.venue_city = venue_city;
} 公共场地(字符串venue_id,字符串venue_name,字符串venue_address,字符串venue_city,字符串venue_zip,字符串venue_phone,字符串venue_mobile){
this.venue_id = venue_id;
this.venue_name = venue_name;
this.venue_address = venue_address;
this.venue_city = venue_city; this.venue_zip = venue_zip;
this.venue_phone = venue_phone;
this.venue_mobile = venue_mobile;
} 公共字符串getVenue_id(){
返回venue_id;
} 公共无效setVenue_id(字符串venue_id){
this.venue_id = venue_id;
} 公共字符串getVenue_name(){
返回venue_name;
} 公共无效setVenue_name(字符串venue_name){
this.venue_name = venue_name;
}
}
解决方案
尝试这种方式,可能这可以帮助您
首先要进行
类场馆实现Serializable
公共类场馆实现Serializable {
/ **
*
* /私有静态最后的serialVersionUID长1L =; }
在你FirstActivity做这样
的ArrayList<地点及GT; VenueArrayList =新的ArrayList<地点及GT;(); 意向意图=新意图(这一点,secondActivity.class);
intent.putExtra(VenueArrayList,VenueArrayList);
在你SecondActivity做这样
的ArrayList<地点及GT; VenueArrayList;
VenueArrayList =(ArrayList的<地点及GT;)getIntent()getSerializableExtra(。
VenueArrayList);
I am storing my JSON data into a arraylist of objects, my object class is Venue and I am passing that data into another activity using serializable from fragment but I am not receiving any values in the actvity. It is receiving the extra. bundle is not null.
My code is:
Fragment:
Intent intent = new Intent(getActivity(), SearchVenueActivity.class);
//pass values
Bundle bundle = new Bundle();
bundle.putSerializable("arrayListVenue",arrayListVenue);
intent.putExtras(bundle);
startActivity(intent);
Activity:
if (getIntent().hasExtra("arrayListVenue")) {
Bundle bundle = getIntent().getExtras();
if(bundle!=null)
rowItems = (ArrayList<Venue>) bundle.getSerializable("arrayListVenue");
else
Log.e("null","null");
}
Venue Class:
public class Venue implements Serializable{
String venue_id;
String venue_name;
String venue_address;
String venue_city;
public String getVenue_city() {
return venue_city;
}
public void setVenue_city(String venue_city) {
this.venue_city = venue_city;
}
public Venue(String venue_id, String venue_name, String venue_address, String venue_city, String venue_zip, String venue_phone, String venue_mobile) {
this.venue_id = venue_id;
this.venue_name = venue_name;
this.venue_address = venue_address;
this.venue_city = venue_city;
this.venue_zip = venue_zip;
this.venue_phone = venue_phone;
this.venue_mobile = venue_mobile;
}
public String getVenue_id() {
return venue_id;
}
public void setVenue_id(String venue_id) {
this.venue_id = venue_id;
}
public String getVenue_name() {
return venue_name;
}
public void setVenue_name(String venue_name) {
this.venue_name = venue_name;
}
}
解决方案
try this way may this help you
First you want to make
Class Venue implements Serializable
public class Venue implements Serializable {
/**
*
*/
private static final long serialVersionUID = 1L;
}
In your FirstActivity do this way
ArrayList<Venue> VenueArrayList = new ArrayList<Venue>();
Intent intent = new Intent(this,secondActivity.class);
intent.putExtra("VenueArrayList", VenueArrayList);
In your SecondActivity do this way
ArrayList<Venue> VenueArrayList;
VenueArrayList = (ArrayList<Venue>) getIntent().getSerializableExtra(
"VenueArrayList");
这篇关于利用发送序列化对象的ArrayList的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文