Activity参数的传递
时间: 2024-09-30 22:16:14 浏览: 20
在Android中,`Activity`是一个基本的应用程序组件,用于展示用户界面。当创建一个新的`Activity`并通过`Intent`启动时,可以将数据作为参数传递过去。主要有以下几种方式:
1. **通过Intent extras**: `Intent`对象允许附加键值对的数据。你可以设置`putExtra()`方法,给`Intent`添加键值对,然后在目标`Activity`通过`getStringExtra()`, `getIntExtra()`, 等方法获取。
```java
Intent intent = new Intent(context, TargetActivity.class);
intent.putExtra("key", "value");
startActivity(intent);
```
2. **通过Intent Bundle**: 如果需要传递更复杂的数据结构,如列表、地图等,可以使用`Bundle`,它是一个键值对集合,序列化性能更好。
```java
Intent intent = new Intent(context, TargetActivity.class);
Bundle bundle = new Bundle();
bundle.putStringArrayList("keys", new ArrayList<>());
intent.putExtras(bundle);
startActivity(intent);
```
3. **通过Intent Data**: 可以将数据作为URI传递,适用于文件路径、网页链接等情况。
4. **通过传入新的Activity实例**: 如果需要传递完整的数据对象,可以直接将其作为`Activity`的构造函数参数传入。
```java
TargetActivity target = new TargetActivity(dataObject);
startActivity(target);
```
阅读全文