(2.2)HarmonyOS鸿蒙页面跳转

简介: (2.2)HarmonyOS鸿蒙页面跳转

本文页面跳转基于《Ability创建子页面布局》所存在的两个页面MainAbility和SecondAbility。


在MainAbilitySlice中进行代码编写


package com.example.myapplication.slice;
import com.example.myapplication.ResourceTable;
import ohos.aafwk.ability.AbilitySlice;
import ohos.aafwk.content.Intent;
import ohos.aafwk.content.Operation;
import ohos.agp.components.Button;
import ohos.agp.components.Component;
public class MainAbilitySlice extends AbilitySlice implements Component.ClickedListener {
    //定义一个全局变量but
    Button but;
    @Override
    public void onStart(Intent intent) {
        super.onStart(intent);
        super.setUIContent(ResourceTable.Layout_ability_main);
        //寻找到该子页面中的按钮并将其赋值给全局变量but
        but = (Button) findComponentById(ResourceTable.Id_but1);
        //给按钮添加一个点击事件,就是说点击了but这个按钮就执行onClick()这个方法
        but.setClickedListener(this);
    }
    @Override
    public void onActive() {
        super.onActive();
    }
    @Override
    public void onForeground(Intent intent) {
        super.onForeground(intent);
    }
    @Override
    public void onClick(Component component) {
        //点击按钮要执行的代码(这里是跳转到第二个页面)
        //判断只有是点击了这个按钮才执行
        if (component == but){
            //创建一个意图(这里的意图可以简单理解为要跳转到第二个页面)
            Intent i = new Intent();
            //包含要跳转的页面信息
            Operation operation = new Intent.OperationBuilder()
                    .withDeviceId("") //要跳转到哪个设备上,默认本机
                    .withBundleName("com.example.myapplication") //要跳转到哪个应用上,可以填包名
                    .withAbilityName("com.example.myapplication.SecondAbility") //要跳转的页面
                    .build();//表示将上面的三个信息进行打包
            //把打包之后的operation设置到意图中
            i.setOperation(operation);
            //跳转页面
            startAbility(i);
        }
    }
}


1a4e90601f3240aca59e0c5562b1a45b.png

1a4e90601f3240aca59e0c5562b1a45b.pngc89557c68bb447e990ee2920f48fdd47.png





相关文章
|
1月前
|
编解码 视频直播 开发工具
|
1月前
|
IDE 开发工具 Windows
鸿蒙(HarmonyOS)项目方舟框架(ArkUI)之RowSplit容器组件
鸿蒙(HarmonyOS)项目方舟框架(ArkUI)之RowSplit容器组件
68 0
|
1月前
|
IDE API 开发工具
鸿蒙(HarmonyOS)项目方舟框架(ArkUI)之Counter容器组件
鸿蒙(HarmonyOS)项目方舟框架(ArkUI)之Counter容器组件
54 1
|
1月前
|
IDE 开发工具 Windows
鸿蒙(HarmonyOS)项目方舟框架(ArkUI)之ColumnSplit容器组件
鸿蒙(HarmonyOS)项目方舟框架(ArkUI)之ColumnSplit容器组件
45 0
|
17天前
|
安全 调度
鸿蒙HarmonyOS实战-Stage模型(线程模型)
本文介绍了线程作为操作系统调度的最小单位,是进程中的执行流,具有轻量级、并发执行、共享资源、通信简单和上下文切换等特点。线程分为用户线程和内核线程,其中内核线程由操作系统管理,而用户线程由应用程序控制。线程用于提高程序性能和响应速度,尤其适合多任务并发处理。在HarmonyOS中,每个应用有主线程负责UI和 ArkTS 引擎管理,以及Worker线程执行耗时任务。线程间通信可通过Emitter实现事件同步和Worker进行异步操作。
|
1月前
|
Java 开发工具 Android开发
鸿蒙HarmonyOS 与 Android 的NDK有什么区别?
鸿蒙(HarmonyOS)和Android的NDK(Native Development Kit)是两个不同的概念,它们在设计理念、架构、开发方式和目标平台等方面存在着一些显著的不同。
35 0
|
1月前
|
IDE API 开发工具
鸿蒙(HarmonyOS)项目方舟框架(ArkUI)之Scroll容器组件
鸿蒙(HarmonyOS)项目方舟框架(ArkUI)之Scroll容器组件
222 0
|
1月前
|
IDE API 开发工具
鸿蒙(HarmonyOS)项目方舟框架(ArkUI)之Row容器组件
鸿蒙(HarmonyOS)项目方舟框架(ArkUI)之Row容器组件
45 1
|
1月前
|
IDE 开发工具 Windows
鸿蒙(HarmonyOS)项目方舟框架(ArkUI)之FlowItem容器组件
鸿蒙(HarmonyOS)项目方舟框架(ArkUI)之FlowItem容器组件
42 1
|
1月前
|
IDE API 开发工具
鸿蒙(HarmonyOS)项目方舟框架(ArkUI)之Flex容器组件
鸿蒙(HarmonyOS)项目方舟框架(ArkUI)之Flex容器组件
77 5