基本类型
1 2 3 4 5 6 7 8
| Intent intent = new Intent(MainActivity.this, ResultActivity.class); intent.putExtra("info", "info"); intent.putExtra("age", 20); startActivity(intent);
String info = getIntent().getStringExtra("info"); String age = getIntent().getIntegerExtra("age", 0);
|
基本类型 List
List
1 2 3 4 5 6 7 8 9 10 11
| ArrayList<String> info = new ArrayList<String>(); info.add(name); info.add(website); info.add(weibo); Intent intent = new Intent(MainActivity.this, ResultActivity.class); intent.putStringArrayListExtra("infoList", info); startActivity(intent);
ArrayList<String> infoList = getIntent().getStringArrayListExtra("infoList");
|
List
1 2 3 4 5
| intent.putIntegerArrayListExtra(key, list);
list =(ArrayList<Integer>) getIntent().getIntegerArrayListExtra(key);
|
Object
有两种方式来传递 Object:Serializable 和 Parcelable
使用 Serializable 方式
前提:Object 需要实现 Serializable 接口。示例 SerInfo implements Serializable
接口
1 2 3 4 5 6 7 8 9 10
| SerInfo serInfo = new SerInfo(name, website, weibo); Intent intent = new Intent(); Bundle bundle = new Bundle(); bundle.putSerializable("serinfo", serInfo); intent.setClass(MainActivity.this, ResultActivity.class); intent.putExtras(bundle); startActivity(intent);
SerInfo serInfo = (SerInfo) getIntent().getSerializableExtra("serinfo");
|
使用 Parcelable 方式
前提:Object 需要实现 Parcelable 接口。示例 ParInfo implements Parcelable
对象 List
SerInfo implements Serializable
1 2 3 4 5 6 7 8 9 10 11 12 13
| ArrayList<SerInfo> listObj = new ArrayList<SerInfo>(); SerInfo serInfo1 = new SerInfo(name, website, weibo); SerInfo serInfo2 = new SerInfo(name, website, weibo); listObj.add(serInfo1); listObj.add(serInfo2);
Intent intent = new Intent(); intent.setClass(MainActivity.this, ResultActivity.class); intent.putExtra("listobj", (Serializable) listObj); startActivity(intent);
ArrayList<SerInfo> listObj = (ArrayList<SerInfo>) getIntent().getSerializableExtra("listobj");
|