小编And*_*son的帖子

如何在 Flutter 中使用 Streams 更新时间?

我一直在研究流的使用,因为我认为这将是我的应用程序的最佳解决方案。我希望能够以特定的时间间隔检查时间,然后根据太阳是否升起或落下自动更改地图的主题。我有主题和太阳代码,但我需要将它们连接在一起。

这是我到目前为止的代码。如果我对控制器和订阅使用 double 并简单地生成一个随机数,那么一切都很好。我每秒都会得到一个不同的随机生成的数字。

然而,使用下面的代码只是再次显示相同的时间。

有人能指出我正确的方向吗?

import 'dart:async';
import 'dart:core';

import 'package:flutter/material.dart';

void main() => runApp(StreamTest());

class StreamTest extends StatefulWidget {
  @override
  _StreamTestState createState() => _StreamTestState();
}

class _StreamTestState extends State<StreamTest> {
  StreamController<DateTime> controller =
      StreamController<DateTime>.broadcast();
  StreamSubscription<DateTime> streamSubscription;
  DateTime currentTime = DateTime.now();

  @override
  void initState() {
    super.initState();
  }

  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      title: "Stream Demo",
      home: Scaffold(
        body: Center(
          child: Row(
            mainAxisSize: MainAxisSize.min,
            children: <Widget>[
              MaterialButton(
                color: Colors.yellow,
                child: Text("Subscribe"),
                onPressed: () async {
                  getTime().listen((value) {
                    print('CURRENT …
Run Code Online (Sandbox Code Playgroud)

datetime stream dart flutter

3
推荐指数
1
解决办法
1万
查看次数

标签 统计

dart ×1

datetime ×1

flutter ×1

stream ×1