我想将一个parcelable对象传递给另一个活动。 所以我实现了一个parcelable类来完成这个。 我编码:
Intent intent = new Intent(mainactivity.this, SecondActivity.class);
Object[] object = new Object();
intent.putExtra("Object ", object);
startActivity(intent);
在我编码的第二项活动中:
Object[] object = (Object[]) getIntent().getExtras().getParcelable("object");
当我将对象传递给Intent时,它不是null。 而当我在第二个Activity中得到它时为null。 你有什么建议吗?提前谢谢!
答案 0 :(得分:7)
改变这个:
Object object = (Object) getIntent().getExtras().getParcelable("object");
对此:
Object object = getIntent().getExtras().get("Object");
只有在代码的发送部分中使用getParcelable
或使用putParcelable
插入Parcelable
对象时,才应使用 putExtra
。
P.S。还要注意键名对象和对象
的区别答案 1 :(得分:2)
您只需在来电者中使用:
Intent i = new Intent(EditActivity.this, ViewActivity.class);
i.putExtra("myObj", p);
startActivity(i);
在收件人中:
Bundle b = i.getExtras();
Person p = (Person) b.getParcelable("myObject");
希望这能帮到你