Java 如何在android中使用intent传递数组列表

Java 如何在android中使用intent传递数组列表,java,android,list,android-intent,Java,Android,List,Android Intent,如何使用intent将数组列表从一个活动传递到另一个活动 来自活动 ArrayList<ServicesInfo> bookedService = new ArrayList<ServicesInfo>();` Intent intent = new Intent(getActivity() , Proceedtocart.class); intent.putExtra("Listview",bookedServi

如何使用intent将数组列表从一个活动传递到另一个活动

来自活动

 ArrayList<ServicesInfo> bookedService = new ArrayList<ServicesInfo>();`
  Intent intent = new Intent(getActivity() , Proceedtocart.class);
                intent.putExtra("Listview",bookedService);
                startActivity(intent);
 bookedService = (ArrayList<BookedInfo>) getIntent().getSerializableExtra("Listview");
ArrayList bookedService=new ArrayList()`
Intent Intent=新的Intent(getActivity(),Proceedtocart.class);
intent.putExtra(“Listview”,bookedService);
星触觉(意向);
到活动

 ArrayList<ServicesInfo> bookedService = new ArrayList<ServicesInfo>();`
  Intent intent = new Intent(getActivity() , Proceedtocart.class);
                intent.putExtra("Listview",bookedService);
                startActivity(intent);
 bookedService = (ArrayList<BookedInfo>) getIntent().getSerializableExtra("Listview");
bookedService=(ArrayList)getIntent().getSerializableExtra(“Listview”);
运行时,我收到错误“java.lang.runtimeexception包无法封送值”

帮助解决此问题


试试这个:

Intent intent = new Intent(this, NextActivity.class);
intent.putStringArrayListExtra("Listview", bookedService);
startActivity(intent);
关于触觉:

yourArrayList = getIntent().getStringArrayListExtra("Listview");
你可以用

public class ContactInfo {

  private String name;
  private String surname;
  private int idx;

// get and set methods
}



 public class ContactInfo implements Parcelable {

      private String name;
      private String surname;
      private int idx;

    // get and set method

    @Override
        public int describeContents() {
        return 0;
    }

    @Override
    public void writeToParcel(Parcel dest, int flags) {
        dest.writeString(name);
        dest.writeString(surname);
        dest.writeInt(idx);
    }

    // Creator
    public static final Parcelable.Creator CREATOR
        = new Parcelable.Creator() {
        public ContactInfo createFromParcel(Parcel in) {
        return new ContactInfo(in);
    }

    public ContactInfo[] newArray(int size) {
        return new ContactInfo[size];
        }
    };

    // "De-parcel object
    public ContactInfo(Parcel in) {
        name = in.readString();
        surname = in.readString();
        idx = in.readInt();
    }
} 

得到


我在我的ServiceInfo数组中实现了parcelable,但仍然出现相同的错误显示您的
ServiceInfo
Try intent.putParcelableArrayListExtra(“key”,my_list);。它会解决你的问题。为此,您需要使您的ServiceInfo可打包。