本文页面跳转基于《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);
}
}
}