鸿蒙中router的传参
时间: 2024-09-29 21:06:12 浏览: 62
在鸿蒙OS (HarmonyOS) 中,路由(Router) 是一种常见的模块化导航组件,它可以帮助你在应用之间传递数据。当你通过Router从一个页面跳转到另一个页面时,可以将参数作为参数传递。以下是使用Router进行传参的基本步骤:
1. **定义参数类型**:首先,确定你要传递的数据类型,可能是简单的字符串、数字,也可以是自定义的对象。
```java
public interface MyRouteParam {
String NAME = "name";
int ID = "id";
}
```
2. **在启动器或导航控制器中设置参数**:在`startActivity()` 或 `push()` 方法中,使用`params`属性添加参数到`RouteInfo`实例中:
```java
// 创建并附带参数的RouteInfo
RouteInfo routeInfo = new RouteInfo();
routeInfo.setUri(MyPage.URI);
routeInfo.setParams(new HashMap<>());
routeInfo.getParams().put(MyRouteParam.NAME, "张三");
routeInfo.getParams().put(MyRouteParam.ID, 123);
// 启动活动
startActivity(routeInfo);
```
3. **在目标页面接收参数**:在目标页面(`MyPage`)的`onStart()` 或 `onCreate()` 方法中,解析接收到的参数:
```java
@Override
protected void onStart() {
super.onStart();
Bundle bundle = this.getIntent().getBundleExtra();
String name = bundle.getString(MyRouteParam.NAME);
int id = bundle.getInt(MyRouteParam.ID);
// 使用参数做相应操作...
}
```
阅读全文