Android 通过 Intent 传递类对象

来源:互联网 发布:农村淘宝贷款 编辑:程序博客网 时间:2024/05/16 00:16

Android中通过 Intent传递类对象

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

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


[java] view plain copy
 print?
  1. Bundle.putSerializable(Key,Object);  //实现Serializable接口的对象  
  2.   
  3. Bundle.putParcelable(Key, Object); //实现Parcelable接口的对象  

以下具体实现方式:

[java] view plain copy
 print?
  1.        //使用Intent直接传递  
  2. Intent resultIntent = new Intent(this,GoodsDetailsActivity.class);  
  3.        resultIntent.putExtra("result",mGoodsList);  
  4.        startActivity(resultIntent);  
  5.   
  6.       
  7. //使用Bundle携带数据  
  8. Intent resultIntent = new Intent(this,GoodsDetailsActivity.class);  
  9. Bundle bundle = new Bundle();  
  10. bundle.putSerializable("result", resultIntent);  
  11. resultIntent.putExtras(bundle);  
  12. startActivity(resultIntent);  
  13.   
  14.   
  15.   
  16. //GoodsDetailsActivity接收数据  
  17. private void handleIntent() {  
  18.     final Intent intent = getIntent();  
  19.     if(intent != null){  
  20.         mGoodsList =(GoodsResultInfo)intent.getSerializableExtra("result");  
  21.     }  
  22. }  

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

[java] view plain copy
 print?
  1. Intent.putExtras(key, (Serializable)list)   

接收:

[java] view plain copy
 print?
  1. (List<YourObject>)getIntent().getSerializable(key)  
0 0
原创粉丝点击