我需要能够在应用程序内的多个 Activity 中使用一个对象,并且它必须是同一个对象。做这个的最好方式是什么?

我尝试将对象设置为“公共(public)静态”,以便其他 Activity 可以访问它,但由于某种原因,这并不能解决问题。还有其他方法可以做到这一点吗?

请您参考如下方法:

当你创建 Intent 对象时,你可以利用以下两种方法 用于在两个 Activity 之间传递对象。

putParcelable

putSerializable

您可以让您的类(class)实现 ParcelableSerializable 。然后您可以跨 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); 


评论关闭
IT源码网

微信公众号号:IT虾米 (左侧二维码扫一扫)欢迎添加!