一、从上往下(传递值)
使用Intent。
1. 单个基本类型数据,使用putExtra()方法。例如:
```java
Intent intent = new Intent(ActivityA.this, ActivityB.class);
intent.putExtra("key", value);
startActivity(intent);
```
2. 多个基本类型数据,可以逐个使用putExtra(),但更好的方法是使用Bundle。例如:
```java
Intent intent = new Intent(ActivityA.this, ActivityB.class);
Bundle bundle = new Bundle();
bundle.putInt("key1", value1);
bundle.putInt("key2", value2);
intent.putExtras(bundle);
startActivity(intent);
```
最后需要调用:`intent.putExtras(bundle);`。需要使用`getIntent().getExtras()`获取Bundle,再调用`Bundle.getInt()`获取里面的数据。例如:
```java
int value1 = getIntent().getExtras().getInt("key1");
int value2 = getIntent().getExtras().getInt("key2");
```
3. 传递对象,同样是使用Bundle。例如:
```java
Person person = new Person();
Intent intent = new Intent(ActivityA.this, ActivityB.class);
Bundle bundle = new Bundle();
bundle.putSerializable("person", person);
intent.putExtras(bundle);
startActivity(intent);
```使用`getIntent().getExtras()`获取Bundle,再调用`Bundle.getSerializable()`获取里面的数据。例如:
```java
Person person = (Person) getIntent().getExtras().getSerializable("person");
```