Android 启动新活动时:解组时未找到类
将可包裹对象列表传递给一个新的Android 启动新活动时:解组时未找到类,android,android-intent,android-activity,parcelable,Android,Android Intent,Android Activity,Parcelable,将可包裹对象列表传递给一个新的活动的意图时,我遇到了一个问题 我是这样做的: Intent intent = new Intent(context, CurriculumCorsesActivity.class); intent.setExtrasClassLoader(CurriculumCourseCard.class.getClassLoader()); intent.putParcelableArrayListExtra("courses", card.getCourses()); co
活动的意图时,我遇到了一个问题
我是这样做的:
Intent intent = new Intent(context, CurriculumCorsesActivity.class);
intent.setExtrasClassLoader(CurriculumCourseCard.class.getClassLoader());
intent.putParcelableArrayListExtra("courses", card.getCourses());
context.startActivity(intent);
当我调用startActivity时,我得到以下错误:
E/Parcel﹕ Class not found when unmarshalling: pt.tecnico.fenixmobile.person.CurriculumCourseCard, e: java.lang.ClassNotFoundException: pt.tecnico.fenixmobile.person.CurriculumCourseCard
课程CourseCard实现了可包裹的界面。以下是实现:
public class CurriculumCourseCard implements Serializable, Parcelable{
private static final long serialVersionUID = 765578940083L;
private String courseName;
private String finalGrade;
private String ects;
public CurriculumCourseCard(Parcel in) {
this.courseName = in.readString();
this.finalGrade = in.readString();
this.ects = in.readString();
}
public String getCourseName() {
return courseName;
}
public String getFinalGrade() {
return finalGrade;
}
public String getEcts() {
return ects;
}
@Override
public int describeContents() {
return 0;
}
@Override
public void writeToParcel(Parcel parcel, int i) {
parcel.writeString(this.courseName);
parcel.writeString(this.finalGrade);
parcel.writeString(this.ects);
}
public static final Parcelable.Creator CREATOR = new Parcelable.Creator() {
public CurriculumCourseCard createFromParcel(Parcel in) {
return new CurriculumCourseCard(in);
}
public CurriculumCourseCard[] newArray(int size) {
return new CurriculumCourseCard[size];
}
};}
这就是我在新活动中获得列表的方式:
Intent intent = getIntent();
intent.setExtrasClassLoader(CurriculumCourseCard.class.getClassLoader());
ArrayList<CurriculumCourseCard> courses = intent.getParcelableArrayListExtra("courses");
Intent-Intent=getIntent();
setExtrasClassLoader(CoursulumCourseCard.class.getClassLoader());
ArrayList courses=intent.getParcelableArrayListExtra(“courses”);
在新的活动中
我看到的项目与列表中的项目一样多,但根本没有内容。唯一的错误是前面描述的错误
希望你能帮助我。看看这篇文章onCreate()
中的课程CorsesActivity
嘿,伙计们,谢谢你们的回答。我通过发送一个包含我的包裹的bundle对象解决了这个问题。