【发布时间】:2020-01-25 15:25:06
【问题描述】:
我通过实现接口Serializable
使我的模型类Serializable我还把所有的嵌套类都做成了Serializable。
创建的意图如下:
Intent intent = new Intent(this,AddinquiryActvity.class);
intent.putExtra("sampleObject",inquiryDetailsModel);
startActivity(intent);
finish();
并在下面的另一个活动中接收它:
Intent i = getIntent();
InquiryDetailsModel inquiryDetailsModel = (InquiryDetailsModel) i.getSerializableExtra("sampleObject");
if(inquiryDetailsModel!=null){
Toast.makeText(this, "Successfully get", Toast.LENGTH_SHORT).show();
}else{
Toast.makeText(this, "Successfully not get", Toast.LENGTH_SHORT).show();
}
但是,inquiryDetailsModel 总是为 null
可能是什么问题?
谢谢。
【问题讨论】:
-
能不能把序列化码放上来。另外你为什么要序列化而不是 parcelable?
-
恕我直言,在活动之间传递完整的模型对象是 Android 中的反模式。谷歌正在引导开发人员使用更多的片段和更少的活动。即使出于技术原因这些应该保持独立的活动,您也可以使用单例存储库来获取模型对象,然后在活动之间传递 ID。除此之外,您可能希望在调试器中检查
Intent中的额外内容,以查看问题是否出在创建Intent、接收Intent或尝试从 @987654326 中提取此特定额外内容@.
标签: android android-intent serialization pojo