【发布时间】:2017-03-16 18:18:53
【问题描述】:
如何在 Android 上将源对象从一个活动传递到另一个活动?
当然,我们可以序列化(Serializable、Parcelable、to/from JSON)并传递对象数据的副本,然后可以创建具有相同数据的新对象;但它不会有相同的引用。
这里有一些解决方案:
第一个活动的代码:
final Object objSent = new Object();
final Bundle bundle = new Bundle();
bundle.putBinder(OBJECT_KEY, new ObjectWrapperForBinder(objSent));
startActivity(new Intent(this, SecondActivity.class).putExtras(bundle));
第二个活动的代码:
final Object objReceived = ((ObjectWrapperForBinder)getIntent().getExtras().getBinder(OBJECT_KEY)).getData();
但要求最低 API 级别 18
还有其他方法吗?
【问题讨论】:
-
你想通过将原始对象“传递”给另一个活动来实现什么?全局类可以持有该对象并从另一个活动中检索吗?
标签: android android-activity parameter-passing