Android 通过 Intent 传递类对象

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,原理类似,可以把list强转成Serializable类型,而且object类型也必须实现了Serializable接口

Intent.putExtras(key, (Serializable)list) 

接收:

(List)getIntent().getSerializable(key)


你可能感兴趣的:(Android技术笔记,Android开发成长之路)