我需要能够在应用程序内的多个 Activity 中使用一个对象,并且它必须是同一个对象。做这个的最好方式是什么?
我尝试将对象设置为“公共(public)静态”,以便其他 Activity 可以访问它,但由于某种原因,这并不能解决问题。还有其他方法可以做到这一点吗?
请您参考如下方法:
当你创建 Intent 对象时,你可以利用以下两种方法 用于在两个 Activity 之间传递对象。
您可以让您的类(class)实现 Parcelable或Serializable 。然后您可以跨 Activity 传递自定义类。我发现这非常有用。
这是我正在使用的一小段代码
CustomListing currentListing = new CustomListing();
Intent i = new Intent();
Bundle b = new Bundle();
b.putParcelable(Constants.CUSTOM_LISTING, currentListing);
i.putExtras(b);
i.setClass(this, SearchDetailsActivity.class);
startActivity(i);
在新启动的 Activity 代码中将是这样的......
Bundle b = this.getIntent().getExtras();
if (b != null)
mCurrentListing = b.getParcelable(Constants.CUSTOM_LISTING);