在颤动中使用飞镖从值通知程序中删除侦听器

ana*_*shi 3 android dart flutter

我有一个通过侦听值通知程序提供的整数值,我想在整数达到某个值后删除侦听器。

我曾尝试使用 'listener.removelisteners' 但我无法实现我想要的

void checktrials() {
    trialsonline.addListener((){
        print('started listener');
        if(trialsonline.value==1){
            print('out of trials');
            trialsonline.value=0;
            //here i want to remove the listener 
        }
    });
}
Run Code Online (Sandbox Code Playgroud)

小智 6

var f;
f = () {
   print('started listener');
   if (trialsonline.value == 1) {
     print('out of trials');
     trialsonline.value = 0;
     trialsonline.removeListener(f);
   }
};
Run Code Online (Sandbox Code Playgroud)

并添加如下:

trialsonline.addListener(f);
Run Code Online (Sandbox Code Playgroud)

  • 您好,如果我们想将一些参数传递给监听器函数怎么办?那么我们怎样才能去除它们呢?我的监听器正在使用来自另一个范围的变量 (2认同)