本文页面跳转基于《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 {//定义一个全局变量butButton but;@Overridepublic void onStart(Intent intent) {super.onStart(intent);super.setUIContent(ResourceTable.Layout_ability_main);//寻找到该子页面中的按钮并将其赋值给全局变量butbut = (Button) findComponentById(ResourceTable.Id_but1);//给按钮添加一个点击事件,就是说点击了but这个按钮就执行onClick()这个方法but.setClickedListener(this);}@Overridepublic void onActive() {super.onActive();}@Overridepublic void onForeground(Intent intent) {super.onForeground(intent);}@Overridepublic 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);}}
}