Android 通過 Intent 傳遞類物件
阿新 • • 發佈:2019-02-19
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)