HarmonyOS鸿蒙开发之07 编程实现页面跳转(教程含源码)

killads
发布于 2020-9-16 12:53
浏览
0收藏

实战需求


本期,我们来从零开始通过代码实现在第一个页面点击按钮跳转到第二个页面。

 
前期文章

 

 

实现页面跳转


1、重写MainAbilitySlice.java 的onStart()函数

 

打开第一个页面的“MainAbilitySlice.java”文件,重写onStart()方法添加按钮的响应逻辑,实现点击按钮跳转到下一页,示例代码如下:

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.*;
 
public class MainAbilitySlice extends AbilitySlice {
 
    @Override
    public void onStart(Intent intent) {
        super.onStart(intent);
        super.setUIContent(ResourceTable.Layout_main_layout);
        Button button = (Button) findComponentById(ResourceTable.Id_button);
 
        if (button != null) {
            // 为按钮设置点击回调
            button.setClickedListener(new Component.ClickedListener() {
                @Override
                public void onClick(Component component) {
                Intent secondIntent = new Intent();
                // 指定待启动FA的bundleName和abilityName
                Operation operation = new Intent.OperationBuilder()
                        .withDeviceId("")
                        .withBundleName("com.example.myapplication")
                        .withAbilityName("com.example.myapplication.SecondAbility")
                        .build();
                secondIntent.setOperation(operation);
                startAbility(secondIntent); // 通过AbilitySlice的startAbility接口实现启动另一个页面
                }
            });
        }
    }
 
    @Override
    public void onActive() {
        super.onActive();
    }
 
    @Override
    public void onForeground(Intent intent) {
        super.onForeground(intent);
    }
}

 

注意事项,请将com.example.myapplication替换成您的项目名称

        .withBundleName("com.example.myapplication")
                        .withAbilityName("com.example.myapplication.SecondAbility")

 

2、再次运行项目,效果如图所示

 

HarmonyOS鸿蒙开发之07 编程实现页面跳转(教程含源码)-鸿蒙开发者社区

 

 

作者:知识大胖

来源:CSDN

分类
已于2020-9-21 16:41:11修改
收藏
回复
举报
3条回复
按时间正序
/
按时间倒序
wx5f632b972847e
wx5f632b972847e

《前篇文章》提供的链接跳转都404了呢?

回复
2020-9-17 18:25:30
killads
killads 回复了 wx5f632b972847e
《前篇文章》提供的链接跳转都404了呢?

刚刚改了一下 现在可以点开啦

回复
2020-9-18 15:25:38
wx5f632b972847e
wx5f632b972847e 回复了 killads
刚刚改了一下 现在可以点开啦

你这跳转还是有问题,点了第一篇还是跳到现在这个了

回复
2020-9-19 10:14:34
回复
    相关推荐