草庐IT

add_listener

全部标签

Flutter使用listen和StreamBuilder订阅同一个流得到不同的结果

我想在加载网络图像时获取它的进度,但我发现StreamBuilder的结果不正确,但我可以使用listen.这是我的运行代码:classHomePageextendsStatefulWidget{@override_HomePageStatecreateState()=>_HomePageState();}class_HomePageStateextendsState{Uriurl=Uri.parse('https://s2.ax1x.com/2019/05/22/V9fCKH.jpg');ImageChunkEventloadingProgress;http.Requestget_r

flutter - CustomPainter 使用 Listenable 重绘

CustomPainter类似乎有几种触发重绘的方法。我已经让我的painter使用shouldRepaint方法,但是,我希望我的painter对listenable中的变化使用react,而不是轮询更改。Flutter文档指出Themostefficientwaytotriggerarepaintistoeither:Extendthisclassandsupplyarepaintargumenttotheconstructorof>theCustomPainter,wherethatobjectnotifiesitslistenerswhenitistimetorepaint.E

flutter - Set 始终设置为空,即使在 flutter 中通过 set.add() 方法向其添加数据也是如此

我在点击图标按钮时为所选项目生成一组。但是只有一个项目被添加到集合中,其他的被删除。这是一个代码,用于从图像列表创建的图像网格中选择最喜欢的项目。点击图标时,应将项目名称添加到集合中。现在,当我点击图标时,它会在集合中添加项目并点击其他项目,它会删除以前的项目并添加新项目。所以在任何时候set要么是空的,要么只有一个项目。classTravelDestinationItemextendsStatefulWidget{TravelDestinationItem({Keykey,@requiredthis.destination,this.shape}):assert(destinatio

flutter : how to conditionally add a widget

如果没有返回数据,我想向正文添加一个文本小部件。否则,我想显示数据。但是,返回以下错误:flutter:type'_CompactLinkedHashSet'isnotasubtypeoftype'Widget'我的代码:body:SafeArea(child:(isLoading)?Center(child:newCircularProgressIndicator(),):Stack(children:[(jobDetail==null&&!isLoading)?noDataFound():{detailWidget(context,jobDetail),applyWidget(co

search - Flutter Firestore Query Listen - 无法引用 Listen 中的变量

我有一个查询来查找指定条形码的文档ID:FuturefindBarcode()async{StringsearchBarcode=awaitBarcodeScanner.scan();Firestore.instance.collection('${newUser.userLocation}').where('barcode',isEqualTo:'${searchBarcode}').snapshots().listen((data){StringidOfBarcodeValue=data.documents[0].documentID;print(idOfBarcodeValue)

dart - streamController.add() 和 streamController.sink.add() 有什么区别?

我知道有两种方法可以将数据添加到流Controller,一种是直接添加数据,另一种是使用接收器。我试图阅读Sink的文档,但我无法理解它的概念,例如数据管道等。 最佳答案 没有。这在内部做同样的事情。.sink属性的真正目的是将其作为其他对象的参数传递。如:MyClass(sink:myController.sink,)这可以防止类访问它们不应该访问的属性。但是StreamController实现了Sink那么有什么意义呢?没错。但是将StreamController转换为Sink与创建Sink不同。例如,使用Sink的类可以很好地

ios - 错误状态 : Stream has already been listened to Flutter error

我正在调用一个api。发送请求后,我收到了流式响应。但我无法解析响应并将其转换为字符串/JSON。这是我调用api的地方。staticFuturecallDeviceListFetchApi()async{Completercompleter=newCompleter();StringjsonResponse;Stringurl=Constants.BASE_URL+Constants.DEVICE_REGISTER_URL;varclient=newhttp.Client();varrequest=newhttp.Request('GET',Uri.parse(url));reque

Flutter 文本字段 : How to add Icon inside the border

我想在搜索栏中添加图标。到目前为止,这是我的代码:newTextField(decoration:newInputDecoration(icon:newIcon(Icons.search)labelText:"DescribeYourIssue...",enabledBorder:constOutlineInputBorder(borderRadius:BorderRadius.all(Radius.circular(20.0)),borderSide:constBorderSide(color:Colors.grey,),),focusedBorder:OutlineInputBor

flutter - 在 myCtrl.stream.listen 中调用 myCtrl.sink.addError 时出错

我是Bloc模式和Stream的新手。在创建Bloc时,我得到了以下日志:E/flutter(18086):[ERROR:flutter/lib/ui/ui_dart_state.cc(148)]UnhandledException:ssE/flutter(18086):null你可以复制这个import'dart:async';import'package:flutter/material.dart';voidmain()=>runApp(newMyApp());classMyAppextendsStatelessWidget{@overrideWidgetbuild(BuildCo

flutter 布局 : Add a Text above a grid

在我的程序中,我重用了flutter_gallery演示中的部分内容:https://github.com/flutter/flutter/blob/master/examples/flutter_gallery/lib/demo/pesto_demo.dart更准确地说,我正在重用创建RecipeGridPage的方法。它工作正常,但我现在想在网格上方添加一个文本小部件。我用过这样的东西:Column(children:[Text('BlaBlaBla'),RecipeGridPage(recipes:kPestoRecipes),],)但是我收到以下错误:“RenderCustom