爲Intent附加數據的兩種寫法
第一種寫法,用於批量添加數據到Intent:
Intent intent = newIntent();
Bundle bundle = newBundle();//該類用作攜帶數據
bundle.putString("name","傳智播客");
intent.putExtras(bundle);//爲意圖追加額外的數據,意圖原來已經具有的數據不會丟失,但key同名的數據會被替換
第二種寫法:這種寫法的作用等價於上面的寫法,只不過這種寫法是把數據一個個地添加進Intent,這種寫法使用起來比較方便,而且只需要編寫少量的代碼。
Intent intent = newIntent();
intent.putExtra("name","傳智播客");
Intent提供了各種常用類型重載後的putExtra()方法,如: putExtra(Stringname, String value)、 putExtra(String name, long value),在putExtra()方法內部會判斷當前Intent對象內部是否已經存在一個Bundle對象,如果不存在就會新建Bundle對象,以後調用putExtra()方法傳入的值都會存放於該Bundle對象,下面是Intent的putExtra(Stringname, String value)方法代碼片斷:
public class Intentimplements Parcelable {
private Bundle mExtras;
public IntentputExtra(String name, String value) {
if (mExtras == null) {
mExtras = new Bundle();
}
mExtras.putString(name, value);
return this;
}