利用发送序列化对象的ArrayList [英] Sending arraylist of objects using serializable

查看:187
本文介绍了利用发送序列化对象的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屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆