bundle及intent傳遞接收資料
阿新 • • 發佈:2019-02-04
在兩個Activity傳遞資料是我們通常都用intent來傳遞;
傳遞簡單資料型別時可以直接用inten.putExtras();也可以吧引數放到bundle接著intent.putExtras(bundle);
傳遞Intent intent = new Intent(); intent.setClass(ContactActivity.this, ContactBackListActivity.class); intent.putExtra(ContactConfig.FEED_ID, feedId); /簡單資料(比如String,int) intent.putStringArrayListExtra(ContactConfig.EXTRA_NORMAL_AL_SELECT_CARDIDS, feedIds); //傳遞陣列arrayList<String> activity.startActivity(intent);
接收
Intent typeIntent = getIntent();
mFromFeedId = typeIntent.getStringExtra(ContactConfig.FEED_ID);
mSelectIdList = typeIntent.getStringArrayListExtra(ContactConfig.EXTRA_NORMAL_AL_SELECT_CARDIDS);
在兩個Acitivty中間傳遞物件 ,那麼這個物件類就要implements Serializable 或者 implements Parcelable
下面是Serializable 方式的傳遞和接收,Parcelable也一樣,mBundle.putParcelable和 getIntent().getParcelable Extra
<span style="font-size:18px;">//傳遞 Intent intent = new Intent((ContactActivity.this, ContactBackListActivity.class); Bundle mBundle = new Bundle(); mBundle.putSerializable("設定標記的key",物件Bean); 或者 mBundle.putParcelable("設定標記的key",物件Bean); intent.putExtras(mBundle); startActivity(intent); //接收 物件bean= (物件bean) getIntent().getSerializableExtra("設定標記的key");</span>