Java 当作为额外目的发送时,可包裹对象将完全更改

Java 当作为额外目的发送时,可包裹对象将完全更改,java,android-studio,android-intent,parcelable,Java,Android Studio,Android Intent,Parcelable,我试图将一个可包裹的对象作为额外的对象放入一个intent中,并将其传递给下一个活动,它不会崩溃,但对象会发生显著的变化。我在片段中单击RecyclerView中的项目并从中打开活动时发送 我是这样发送的: AdminProfile AdminProfile=list.get(position.admin); Intent Intent=new Intent(view.getContext(),ClosedChatActivity.class); intent.putExtra(“聊天”,adm

我试图将一个可包裹的对象作为额外的对象放入一个intent中,并将其传递给下一个活动,它不会崩溃,但对象会发生显著的变化。我在片段中单击RecyclerView中的项目并从中打开活动时发送

我是这样发送的:

AdminProfile AdminProfile=list.get(position.admin);
Intent Intent=new Intent(view.getContext(),ClosedChatActivity.class);
intent.putExtra(“聊天”,adminProfile);
view.getContext().startActivity(intent);
我就是这样得到的:

adminProfile=(adminProfile)getIntent().getExtras().getParcelable(“聊天”);
这节课:

public类AdminProfile实现了可包裹{
公共静态最终创建者=新创建者(){
@凌驾
公共管理员配置文件createFromParcel(中的地块){
返回新的AdminProfile(在中);
}
@凌驾
公共AdminProfile[]新数组(整数大小){
返回新的AdminProfile[大小];
}
};
公共长途用户;
公共字符串名称;
公共字符串专业人员;
公共字符串描述;
公共列表网站链接;
公共长尾蛇;
受保护的管理员配置文件(包裹中){
如果(in.readByte()==0){
idUser=null;
}否则{
idUser=in.readLong();
}
name=in.readString();
professio=in.readString();
description=in.readString();
webLinks=in.createTypedArrayList(WebLink.CREATOR);
如果(in.readByte()==0){
idOficina=null;
}否则{
idOficina=in.readLong();
}
}
@凌驾
公共int描述内容(){
返回0;
}
@凌驾
公共无效书面包裹(包裹,内部i){
包裹写长(idUser);
包裹。书面记录(姓名);
包裹书面记录(专业);
包裹。书写(说明);
包裹书写(idOficina);
包裹书面列表(网络链接);
}
}

我不明白为什么,但当我发送对象时,我有
UserId=3
,但当我得到它时,它是
UserId=55834574848
。有什么想法吗?

Android Studio自动填充了可打包功能,读取第一个字节就把它搞糟了

改变

if(in.readByte()==0){
idUser=null;
}否则{
idUser=in.readLong();
}
为了

idUser=in.readLong();
修好了