Android基础总结二:Intent总结二(Intent传递数据的几种类型)

来源:互联网 发布:单片机如何烧程序 编辑:程序博客网 时间:2024/06/15 13:34

一.基本数据类型及数组

Intent putExtra(String name, int[] value)Intent putExtra(String name, float value)Intent putExtra(String name, byte[] value)Intent putExtra(String name, long[] value)Intent putExtra(String name, float[] value)Intent putExtra(String name, long value)Intent putExtra(String name, String[] value)Intent putExtra(String name, boolean value)Intent putExtra(String name, boolean[] value)Intent putExtra(String name, short value)Intent putExtra(String name, double value)Intent putExtra(String name, short[] value)Intent putExtra(String name, String value)Intent putExtra(String name, byte value)Intent putExtra(String name, char[] value)Intent putExtra(String name, CharSequence[] value)

本质上仍然是通过一个Bundle(private Bundle mExtras;)来实现:

   public Intent putExtra(String name, long value) {        if (mExtras == null) {            mExtras = new Bundle();        }        mExtras.putLong(name, value);        return this;    }

二.传递一个Bundle

public Intent putExtra(String name, Bundle value) {        if (mExtras == null) {            mExtras = new Bundle();        }        mExtras.putBundle(name, value);        return this;    }

三.传递Serializable对象

public Intent putExtra(String name, Serializable value) {        if (mExtras == null) {            mExtras = new Bundle();        }        mExtras.putSerializable(name, value);        return this;    }

四.传递Parcelable对象

public Intent putExtra(String name, Parcelable value) {        if (mExtras == null) {            mExtras = new Bundle();        }        mExtras.putParcelable(name, value);        return this;}public Intent putExtra(String name, Parcelable[] value) {        if (mExtras == null) {            mExtras = new Bundle();        }        mExtras.putParcelableArray(name, value);        return this;    }

五.传递Intent对象

 public Intent putExtras(Intent src) {        if (src.mExtras != null) {            if (mExtras == null) {                mExtras = new Bundle(src.mExtras);            } else {                mExtras.putAll(src.mExtras);            }        }        return this;    }
原创粉丝点击