// 问题来源 //
有会员提问:“当屏幕1.关闭其他屏幕时”这个事件是怎么触发的?本文通过案例验证对这个事件进行分析,并与“屏幕.回退”事件进行了简单的对比,相关内容均已更新进了中文文档,点击“阅读原文”直达~
// 案例验证 //
-
关闭其他屏幕时(其他屏幕名称,返回结果)
当另一个屏幕关闭并且控制权返回到此屏幕时触发该事件。2个屏幕之间的交互方法。测试案例如下:
-
Screen1的事件如下:
-
当
Screen1
跳转到屏幕test
时,屏幕test
调用关闭屏幕并返回值方法后,上面的事件就会触发,代码如下: -
事件触发后的测试结果。
Screen1
打印出了关闭前的屏幕名称及关闭时返回的值(值类型是Any,即 任意类型都支持),效果如下: -
按下设备的返回键也可以触发这个事件,不过“返回结果”参数为空。
-
注:只有关闭屏幕并返回值方法能触发,如下2种普通的屏幕跳转方法并不能触发这个事件:
-
// 回退 vs 关闭其他屏幕 //
事件 | 作用对象 | 触发方式 |
---|---|---|
回退时 | 仅针对当前屏幕的行为 | 当前屏幕按下了设备返回键时触发(需要编译安装App后测试,AI伴侣返回键无法捕获测试不了) |
关闭其他屏幕时 | 2个屏幕之间的交互 | 第二个屏幕调用关闭屏幕并返回值方法后,触发第一个屏幕的该事件(按设备返回键也可触发,此时“返回结果”参数为空) |
来源:用户界面(UI)组件 · App Inventor 2 中文网