普通用户
请求一个思路 [复制链接]
小龙APP 发表于 2025-03-30 59 6

我现在有两个窗口  B窗口弄了一个 组件  网页浏览框1     网页浏览框1.接口事件被回调  会有返回数据
我A窗口 如果实时的读取这个 B窗口的 网页浏览框1.接口事件被回调 数据  目前我弄的是  写 保存设置在目录下   A窗口去读取目录下的设置 但是有时候又误差  有更好的方法吗? 

小龙APP 2025-03-30
引用 @Course 的回复:

轻语言安卓框架遵循原生安卓生命周期,B窗口看不见的时候,或当关闭的时候,B窗口将会从栈堆移除并释放相关内存资源,因此当切换到A窗口时,B窗口在后台已经释放了窗口中相关组件资源及事件。

如果您要在整个APP运行期内,都要能监听到浏览框事件,可以新建一个模块,然后在模块中以静态方式封装浏览框、然后动态注册浏览框的相关事件;例如:

' 定义一个全局静态网页浏览框组件
变量 静态 网页浏览框1  网页浏览框

' 开始监听、并传入网站地址
函数 静态 开始监听(URL  文本型)
	如果(网页浏览框1 == )
        网页浏览框1 = 创建 网页浏览框()
    结束 如果
    网页浏览框1.置接口事件被回调回调((源对象,回调信息)->{
        调试输出("网页浏览框接口事件被回调:" + 回调信息)
    })
    网页浏览框1.加载(URL)
结束 函数

在启动窗口创建或需要监听场景的时候,通过模块名称调用:开始监听 函数。

好的 感谢指导 我试试

回复
管理员 2025-03-30
引用 @小龙APP 的回复:

实现了   但是我切换到不是浏览器的A窗口   B窗口的浏览器的 网页浏览框1.接口事件被回调 好像已经失效了了

轻语言安卓框架遵循原生安卓生命周期,B窗口看不见的时候,或当关闭的时候,B窗口将会从栈堆移除并释放相关内存资源,因此当切换到A窗口时,B窗口在后台已经释放了窗口中相关组件资源及事件。

如果您要在整个APP运行期内,都要能监听到浏览框事件,可以新建一个模块,然后在模块中以静态方式封装浏览框、然后动态注册浏览框的相关事件;例如:

' 定义一个全局静态网页浏览框组件
变量 静态 网页浏览框1  网页浏览框

' 开始监听、并传入网站地址
函数 静态 开始监听(URL  文本型)
	如果(网页浏览框1 == )
        网页浏览框1 = 创建 网页浏览框()
    结束 如果
    网页浏览框1.置接口事件被回调回调((源对象,回调信息)->{
        调试输出("网页浏览框接口事件被回调:" + 回调信息)
    })
    网页浏览框1.加载(URL)
结束 函数

在启动窗口创建或需要监听场景的时候,通过模块名称调用:开始监听 函数。

回复
小龙APP 2025-03-30
引用 @Course 的回复:

不用,只要在其它地方发送之前注册接收都可以。

实现了   但是我切换到不是浏览器的A窗口   B窗口的浏览器的 网页浏览框1.接口事件被回调 好像已经失效了了

回复
管理员 2025-03-30
引用 @小龙APP 的回复:

这个 接收事情 必须在 窗口创建完毕 是么

不用,只要在其它地方发送之前注册接收都可以。

回复
小龙APP 2025-03-30
引用 @Course 的回复:

使用 发送事件消息,与 接收事件消息函数 可以跨窗口实时传递数据。

参考例程:跨窗口传递数据

代码示例:

窗口1 

发送事件消息(1,"我是实时传递的数据")

窗口2,在窗口创建完毕事件中接收事件消息:

接收事件消息((消息ID,消息值)->{
        标签1.追加文本行("消息ID:" + 消息ID + ",消息值:" + 消息值)
    })

这个 接收事情 必须在 窗口创建完毕 是么

回复
管理员 2025-03-30

使用 发送事件消息,与 接收事件消息函数 可以跨窗口实时传递数据。

参考例程:跨窗口传递数据

代码示例:

窗口1 

发送事件消息(1,"我是实时传递的数据")

窗口2,在窗口创建完毕事件中接收事件消息:

接收事件消息((消息ID,消息值)->{
        标签1.追加文本行("消息ID:" + 消息ID + ",消息值:" + 消息值)
    })
回复
 作者信息
小龙APP
USB专业用户 云验证
专业开发指导服务

响应时间:5分钟

服务方式:官方1对1服务

工作时间:工作日 9:00 - 18:30

专业团队 · 开发指导 · 极速响应


官网 | 基础视频教程 | 在线文档 下载 VcnStudio IDE

© VcnStudio Inc All Rights Reserved

蜀ICP备17024229号