startActivity 和 Bundle 如何一起使用
时间: 2024-02-09 09:11:10 浏览: 100
在 Android 中,我们可以使用 `startActivity` 方法来启动一个 `Activity`。同时,我们还可以使用 `Bundle` 来封装需要传递给目标 `Activity` 的数据。下面是一个简单的示例:
```java
// 创建一个 Intent 对象
Intent intent = new Intent(MainActivity.this, TargetActivity.class);
// 创建一个 Bundle 对象,并将数据存入 Bundle 中
Bundle bundle = new Bundle();
bundle.putString("name", "张三");
bundle.putInt("age", 18);
// 将 Bundle 对象存入 Intent 中
intent.putExtras(bundle);
// 启动目标 Activity
startActivity(intent);
```
在上述示例中,我们首先创建了一个 `Intent` 对象,并指定了目标 `Activity` 的类名。然后,我们创建了一个 `Bundle` 对象,并将需要传递的数据存入其中。最后,我们将 `Bundle` 对象存入 `Intent` 中,并调用 `startActivity` 方法启动目标 `Activity`。
在目标 `Activity` 中,我们可以通过以下方式获取传递过来的数据:
```java
// 获取 Intent 对象
Intent intent = getIntent();
// 获取 Bundle 对象
Bundle bundle = intent.getExtras();
// 获取传递的数据
String name = bundle.getString("name");
int age = bundle.getInt("age");
```
在上述示例中,我们首先通过 `getIntent` 方法获取传递过来的 `Intent` 对象,然后通过 `getExtras` 方法获取存放数据的 `Bundle` 对象。最后,我们通过 `getString` 和 `getInt` 方法获取传递过来的具体数据。
综上所述,`startActivity` 和 `Bundle` 可以一起使用,可以方便地传递数据到目标 `Activity`。
阅读全文