前言
Activity间数据的传递其实是很基础的内容,但是只知道大概,并没有搞清楚到底能够传递哪些内容,借此机会,进行一次整理,尽量将所有情况都涵盖。
从当前的Activity传递数据给下一个Activity
其实呢很简单,我们都知道启动一个Activity,我们通常是创建一个Intent对象,表明意图,再调用startActivity或者startActivityForResult方法,来启动下一个Activity,而传递数据时,我们只需要将数据使用Intent对象的putExtra方法保存起来,然后到下一个界面时,通过key值取出即可。
下面是我传递数据的代码:
Intent intent = new Intent (this,OtherActivity.class);
intent.putExtra ("byte",10);
intent.putExtra ("char",'a');
intent.putExtra ("short",100);
intent.putExtra ("int",1000);
intent.putExtra ("long",10000);
intent.putExtra ("float",100.01);
intent.putExtra ("double",100.001);
intent.putExtra ("boolean",true);
intent.putExtra ("string","string");
byte[] bytes = new byte[]{ (byte) 0x85, (byte) 0x82 };
intent.putExtra ("byteArray",bytes);
char[] chars = new char[]{
'a','b','A','B'};
intent.putExtra ("charArray",chars);
short[] shorts = new short[]{};
intent.putExtra ("shortArray",shorts);
int[] ints = new int[]{
1,2,3,4};
intent.putExtra ("intArray",ints);
long[] longs = new long[]{
10000,20000};
intent.putExtra ("longArray",longs);
float[] floats = new float[]{ (float) 100.01,(float) 100.02,(float) 100.03};
intent.putExtra ("floatArray",floats);
double[] doubles = new double[]{
100.001,100.002,100.003};
intent.putExtra ("doubleArray",doubles);
boolean[] booleans = new boolean[]{true,false,true};
intent.putExtra ("booleanArray",booleans);
String[] strings = new String[]{
"abc","def","ABC"};
intent.putExtra ("stringArray",strings);
intent.putExtra ("CharSequence","CharSequence");
CharSequence[] charSequences = new CharSequence[]{
"CharSequence1","CharSequence2"};
intent.putExtra ("charSequences",charSequences);
ParcelableImp parcelableImp = new ParcelableImp ();
parcelableImp.setTestInt (88);
parcelableImp.setTestString ("surprise");
intent