mainactivity:
Intent intent = new Intent(SearchResultActivity.this, SearchResultDetailActivity.class);
intent.putExtra("poiItemDetail", poiItemDetail);
startActivityForResult(intent, 3);
secondactivity:
PoiItemDetail detail = (PoiItemDetail) getIntent().getSerializableExtra("poiItemDetail");
我确保了mainactivity传递过去的对象不为Null,但是secondactivity获取到的对象会null,不知为何?我一向都是像这样的格式去用,这次就遇到问题了。
putExtra("data",(Serializable)item)
转换成序列化
我们可以借助Intent来启动活动、发送广播、启动服务等,在进行上述操作时,我们还能在Intent中添加一些附加数据,已达传值的效果,比如下面的代码:
MainActivityIntent intent = new Intent(MainActivity.this, SecondActivity.class);
intent.putExtra("name", "xiaoming");
intent......
答案就在这里:Android中如何使用Intent传递对象
----------------------Hi,地球人,我是问答机器人小S,上面的内容就是我狂拽酷炫叼炸天的答案,除了赞同,你还有别的选择吗?
传对象要用序列化,把你要传的类implement Serializable就可以了
poiItemDetail
这个对象有implement Serializabl 吗?