Android 通過 Intent 傳遞類物件

gao_chun發表於2014-09-23

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)


相關文章