Android 通过 Intent 传递类对象

来源:互联网 发布:现代战争5数据总是重制 编辑:程序博客网 时间:2024/05/16 01:02

Android中通过 Intent传递类对象

1.通过实现Serializable接口传递对象(必须实现该接口)

2.通过实现Parcelable接口传递对象(必须实现该接口)


Bundle.putSerializable(Key,Object);  //实现Serializable接口的对象Bundle.putParcelable(Key, Object); //实现Parcelable接口的对象

以下具体实现方式:

        //使用Intent直接传递Intent resultIntent = new Intent(this,GoodsDetailsActivity.class);        resultIntent.putExtra("result",mGoodsList);        startActivity(resultIntent);//使用Bundle携带数据Intent resultIntent = new Intent(this,GoodsDetailsActivity.class);Bundle bundle = new Bundle();bundle.putSerializable("result", resultIntent);resultIntent.putExtras(bundle);startActivity(resultIntent);//GoodsDetailsActivity接收数据private void handleIntent() {final Intent intent = getIntent();if(intent != null){mGoodsList =(GoodsResultInfo)intent.getSerializableExtra("result");}}

如果需要传递的是List<Object>,原理类似,可以把list强转成Serializable类型,而且object类型也必须实现了Serializable接口

Intent.putExtras(key, (Serializable)list) 

接收:

(List<YourObject>)getIntent().getSerializable(key)


0 0
原创粉丝点击