爲Intent附加數據的兩種寫法

爲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;

 }

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章