返回值类型(true还是false)

NotificationListener在Flutter中扮演着事件监听的角色,但与事件Listener不同,它可以终止通知的冒泡传递。Notification的分发通过disPatch进行,监听器在onNotification回调中根据返回值(true或false)决定是否继续向上层节点发送通知。返回true表示继续分发,返回false则阻止分发。示例展示了如何创建通知类,使用NotificationListener以及避免错误的context使用方式。
摘要由CSDN通过智能技术生成

通知的NotificationListener和我们之前写的事件的Listener一样,都是功能性的组件,而且也都是从子节点顺着widget树向上冒泡,不同的是,事件的Listener不可以被终止,但是通知的NotificationListener是可以被终止的。

是否终止根据NotificationListener的返回值来决定。

说一下我个人的理解:

通知Notification的发送是通过disPatch进行分发的,就好像Android里面的事件分发,当NotificationListener监听到了通知事件,这时候会走到其onNotification回调中,根据回调中的返回值类型(true还是false)来决定是否还继续向父亲节点发送通知。

返回true就是继续分发,返回false就是终止分发,返回false就意味着上层节点的NotificationListener就不会接收到通知事件了。

举个例子就是:

两层NotificationListener嵌套,子节点的NotificationListener返回true,那么父亲节点的NotificationListener可以接收到通知事件,反之如果返回false,那么父亲节点的NotificationListener就不会接收到通知事件了。

下面看一下demo示例:

demo就是简单的发送通知,监听到通知事件后改变text的内容。

1.创建一个事件通知类,要继承Notification,它其实就是一个数据载体,在里面定义通知数据的类型和内容。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值