Java 如何传递包含其他可包裹类列表的可包裹类?

Java 如何传递包含其他可包裹类列表的可包裹类?,java,android,android-intent,parcelable,Java,Android,Android Intent,Parcelable,我正在尝试将可包裹类从一个活动传递到另一个活动。我是这样做的: Intent Intent=new Intent(ClosedChatActivity.this、AdminProfileActivity.class);intent.putExtra(“adminProfile”,adminProfile); 星触觉(意向); 然后在其他类似的活动中获得: adminProfile=(adminProfile)getIntent().getExtras().getParcelable(“admi

我正在尝试将可包裹类从一个活动传递到另一个活动。我是这样做的:

Intent Intent=new Intent(ClosedChatActivity.this、AdminProfileActivity.class);intent.putExtra(“adminProfile”,adminProfile);
星触觉(意向);
然后在其他类似的活动中获得:

adminProfile=(adminProfile)getIntent().getExtras().getParcelable(“adminProfile”);
这是AdminProfile类及其内部的WebLink类:

public类AdminProfile实现了可包裹{
公共静态最终创建者=新创建者(){
@凌驾
公共管理员配置文件createFromParcel(中的地块){
返回新的AdminProfile(在中);
}
@凌驾
公共AdminProfile[]新数组(整数大小){
返回新的AdminProfile[大小];
}
};
公共长途用户;
公共字符串名称;
公共字符串专业人员;
公共字符串描述;
公共列表网站链接;
公共长尾蛇;
受保护的管理员配置文件(包裹中){
idUser=in.readLong();
name=in.readString();
professio=in.readString();
description=in.readString();
webLinks=in.createTypedArrayList(WebLink.CREATOR);
idOficina=in.readLong();
}
@凌驾
公共int描述内容(){
返回0;
}
@凌驾
公共无效书面包裹(包裹,内部i){
包裹写长(idUser);
包裹。书面记录(姓名);
包裹书面记录(专业);
包裹。书写(说明);
包裹书写(idOficina);
parcel.writeTypedList(网络链接);
}
}
public类WebLink实现可包裹{
公共静态最终创建者=新创建者(){
@凌驾
公共Web链接createFromParcel(地块位于){
返回新的Web链接(在中);
}
@凌驾
公共WebLink[]新数组(整数大小){
返回新的网页链接[大小];
}
};
公共字符串名称;
公共字符串url;
受保护的Web链接(包裹中){
name=in.readString();
url=in.readString();
}
@凌驾
公共布尔等于(@Nullable Object obj){
WebLink-WebLink=(WebLink)obj;
断言webLink!=null;
返回this.name.equals(webLink.name)和&this.url.equals(webLink.url);
}
@凌驾
公共int描述内容(){
返回0;
}
@凌驾
公共无效书面包裹(包裹,内部i){
包裹。书面记录(姓名);
包裹写入(url);
}
}
当我获取对象时,其中的两个字符串与我发送的不同。为什么呢


奇怪的是,我有另一个包含AdminProfile的Parcelable类,当发送该类时,它确实可以发送包含Web链接的AdminProfile,但是如果我只在某个地方发送AdminProfile,它就会失败。

当您读写
Parcelable
类时,您需要确保元素的顺序完全相同


您正在编写
idOficina
,然后是
WebLinks
,但您正在以相反的顺序阅读它们。

删除了
android studio
标记,因为该标记用于解决有关android studio产品的问题。你的问题是一个普通的Android问题,与Android Studio无关。