android - Flutter setState() 方法调用
问题描述
由于我是 Flutter 的新开发人员,我很困惑何时应该调用 setState() ?,如果我调用整个应用程序是在 build() 中重新加载(重绘视图)。我想更新树形小部件结构中的一个 TextView 小部件值
解决方案
这是示例。点击你只重新创建的工厂_MyTextWidget
StreamController<int> _controller = StreamController<int>.broadcast();
int _seconds = 1;
Widget build(BuildContext context) {
return Scaffold(
body: Container(
color: Colors.cyan.withOpacity(0.3),
width: 300.0,
height: 200.0,
child: _MyTextWidget(_controller.stream)),
),
floatingActionButton: FloatingActionButton(
onPressed: () {
_controller.add(_seconds++);
},
child: Icon(Icons.add),
),
);
}
...
class _MyTextWidget extends StatefulWidget {
_MyTextWidget(this.stream);
final Stream<int> stream;
@override
State<StatefulWidget> createState() => _MyTextWidgetState();
}
class _MyTextWidgetState extends State<_MyTextWidget> {
int secondsToDisplay = 0;
@override
Widget build(BuildContext context) {
return StreamBuilder(
stream: widget.stream,
builder: (BuildContext context, AsyncSnapshot<int> snapshot) {
return snapshot.hasData ? Text(snapshot.data.toString()) : Text('nodata');
});
}
}
推荐阅读
- javascript - 使用 Telegraf/Node.js 等待消息响应
- java - 如何配置 ResourceHttpRequestHandler 支持的方法?
- json - Power Query Editor (Excel) - 错误处理 API 提要中的无数据
- unity3d - 在投射之前从相机偏移光线
- javascript - 在手动刷新组件之前,从弹出窗口添加的数据不可见
- api - 显示来自 api VueJS 的数据
- php - WordPress 随机返回 404 错误
- sql - SQL,在运算符之间但仅使用一列
- r - 如何从 R 中的矩阵创建精确对应的热图
- webhooks - 如何使用 EMV 读卡器跟踪 Authorize.Net 销售点交易