Intent附加數據的兩種寫法

第一種寫法,用於批量添加數據到Intent: java

Intent intent = new Intent();

Bundle bundle = new Bundle();//該類用做攜帶數據

bundle.putString("name", "林計欽");

intent.putExtras(bundle);//爲意圖追加額外的數據,意圖原來已經具備的數據不會丟失,但key同名的數據會被替換

第二種寫法:這種寫法的做用等價於上面的寫法,只不過這種寫法是把數據一個個地添加進Intent,這種寫法使用起來比較方便,並且只須要編寫少許的代碼。this

Intent intent = new Intent();

intent.putExtra("name", "林計欽");

Intent提供了各類經常使用類型重載後的putExtra()方法,如: putExtra(String name, String value)、 putExtra(String name, long value),在putExtra()方法內部會判斷當前Intent對象內部是否已經存在一個Bundle對象,若是不存在就會新建Bundle對象, 之後調用putExtra()方法傳入的值都會存放於該Bundle對象,下面是Intent的putExtra(String name, String value)方法代碼片段:spa

public class Intent implements Parcelable {

    private Bundle mExtras;

    public Intent putExtra(String name, String value) {

        if (mExtras == null) {

            mExtras = new Bundle();

         }

         mExtras.putString(name, value);

         return this;

     }

}
相關文章
相關標籤/搜索