鸿蒙OS开发之页面跳转(Slice)引起的按钮点击不了的问题,以及自己的感悟

前情:已经粗略的看完鸿蒙OS开发文档,但是有很多地方还不懂,今天翻过头来重新看一下重新跟着操作一下,然后发现的问题。

该问题前段时间有人发现过,这次操作正好碰到,翻阅了一下其他人的解决办法,正好解决。

 

正式开场:

在开发文档中介绍:AbilitySlice间导航

 

在练习这块的时候根据官网文档操作发现在AbilitySlice跳转后,使用返回按钮返回前一个Slice,重新跳转目标Slice的时候发现根本跳转不过来。

 

正好在前端时候逛论坛的时候碰到这个问题,搜索了一下正好有小伙伴在回复中有解决办法,自己测试果然有效。问题是在官方文档中,在前一个Slice中初始化按钮的点击事件是写在了onStart中,这样就会导致上述我倾述的问题,如果把初始化按钮点击事件写在了onActive中就可以重复触发事件。

 

最后我分析,这个可能是和Slice的生命周期有关系,因为Slice加载的时候onStart的操作只触发一次,所以从栈中重新浮出来的时候onStart不再执行,只是该slice从BACKGROUND状态编导Active状态的时候触发了onActive的操作,所以又重新初始了一下按钮的点击事件,这样才是按钮点击重新生效的。

 

上述只是我自己的一个猜想,希望能得到官方的肯定。

鸿蒙OS
页面跳转
2020-10-24 11:20:18
浏览
1
收藏 0
回答 3
待解决
回答 3
按赞同
/
按时间
bingfeng
1

在使用present进行页面跳转的时候,Slice的实例确实会终止,导致不走onStart,只走OnActive,具体可以参考我们的开发者文档AbilitySlice间导航。

分享
微博
QQ
微信
回复
2020-10-24 12:14:06
deanyuancn

不是,是按钮焦点区域的问题,你点击按钮的时候,要点击按钮遍上一点点,才能触发按钮的点击事件!

分享
微博
QQ
微信
回复
2020-10-24 11:41:55
新新人类

这个我测试过了,onstart中好像就能触发一次。如果写在onActive每次都可以触发。你是不是说的是如果使用Java写Button的时候,点击靠上一点才能触发点击事件,这样的问题我也碰到过,这个好多人都碰见过这个问题!

分享
微博
QQ
微信
回复
2020-10-24 11:52:54
相关问题
页面之间跳转方式怎么设置
625浏览 • 1回复 待解决
Java Player视频播放不了问题
3268浏览 • 2回复 待解决
js能跳转到java写页面
4201浏览 • 1回复 待解决
PageAbility配合多个Slice实现页面间切换
7399浏览 • 4回复 已解决
鸿蒙js开发 video遇到问题
1400浏览 • 1回复 待解决
关于 JS UI 开发应用问题
270浏览 • 1回复 待解决
鸿蒙操作系统应用开发软总线
2699浏览 • 2回复 已解决
鸿蒙-如何打开跳转GPS设置页面
7568浏览 • 1回复 待解决
鸿蒙-如何打开跳转WLAN设置页面
3193浏览 • 1回复 待解决
鸿蒙系统-如何跳转应用信息详情页面
3233浏览 • 2回复 待解决
鸿蒙osJS UI如何导入jquery
2840浏览 • 1回复 待解决
鸿蒙OS如何获取当前手机号
7797浏览 • 1回复 待解决
关于Java UI拖拽式开发问题
750浏览 • 1回复 待解决
提问
该提问已有5人参与 ,帮助了111人