如何聆听flutter型流构建器的整数?

发布于 2025-02-09 02:24:13 字数 2187 浏览 0 评论 0原文

我正在将约会屏幕添加到我的应用程序中。我想根据约会屏幕中的进度显示屏幕。我将用户的进度与变量联系在一起。该变量的名称是_PageIndex。我确定要使用statepage函数显示的内容。我已经将statepage授予body

但是有一个问题。我不知道如何收听此_PageIndex。我该怎么做?您是否需要_PageIndex变量才能连续收听?

代码:

statePage() {
  StreamBuilder<int>(
    // stream: _pageIndex,
    builder: (BuildContext context, AsyncSnapshot<int> snapshot) {
      _pageIndex = snapshot.data;
      if (_pageIndex == 1) {
        return welcomeScreen_1();
      } else if (_pageIndex == 2) {
        return welcomeScreen_2();
      } else if (_pageIndex == 3) {
        return welcomeScreen_3();
      } else {
        return welcomeScreen_1();
      }
    },
  );
}

所有代码:

import 'package:flutter/material.dart';
import 'package:teen_browser/welcome_screens/welcomeScreen1.dart';
import 'package:teen_browser/welcome_screens/welcomeScreen2.dart';
import 'package:teen_browser/welcome_screens/welcomeScreen3.dart';

class welcomeMain extends StatefulWidget {
  welcomeMain({Key? key}) : super(key: key);
  @override
  State<welcomeMain> createState() => _welcomeMainState();
}

int? _pageIndex = 1;

class _welcomeMainState extends State<welcomeMain> {
  void initState() {
    super.initState();
  }
  @override
  Widget build(BuildContext context) {
    return Scaffold(
      body: statePage(),
      bottomSheet: Row(
        mainAxisAlignment: MainAxisAlignment.spaceEvenly,
        children: [
          Text("example text, not important."),
        ],
      ),
    );
  }
}

statePage() {
  StreamBuilder<int>(
    // stream: _pageIndex,
    builder: (BuildContext context, AsyncSnapshot<int> snapshot) {
      _pageIndex = snapshot.data;
      if (_pageIndex == 1) {
        return welcomeScreen_1();
      } else if (_pageIndex == 2) {
        return welcomeScreen_2();
      } else if (_pageIndex == 3) {
        return welcomeScreen_3();
      } else {
        return welcomeScreen_1();
      }
    },
  );
}

我将在BottomSheet上放置进度栏。我可以处理这个。只需帮助我如何收听_PageIndex。事先感谢您的帮助。

I'm adding a dating screen to my app. I want to show the screen according to the progress in the dating screen. I tied the user's progress to a variable. The name of this variable is _pageIndex. And I determine the content to be displayed with the statePage function. I have given statePage to body.

But there is a problem. I have no clue how to listen for this _pageIndex. How can I do that? Do you want the _pageIndex variable to listen continuously?

Codes:

statePage() {
  StreamBuilder<int>(
    // stream: _pageIndex,
    builder: (BuildContext context, AsyncSnapshot<int> snapshot) {
      _pageIndex = snapshot.data;
      if (_pageIndex == 1) {
        return welcomeScreen_1();
      } else if (_pageIndex == 2) {
        return welcomeScreen_2();
      } else if (_pageIndex == 3) {
        return welcomeScreen_3();
      } else {
        return welcomeScreen_1();
      }
    },
  );
}

All codes:

import 'package:flutter/material.dart';
import 'package:teen_browser/welcome_screens/welcomeScreen1.dart';
import 'package:teen_browser/welcome_screens/welcomeScreen2.dart';
import 'package:teen_browser/welcome_screens/welcomeScreen3.dart';

class welcomeMain extends StatefulWidget {
  welcomeMain({Key? key}) : super(key: key);
  @override
  State<welcomeMain> createState() => _welcomeMainState();
}

int? _pageIndex = 1;

class _welcomeMainState extends State<welcomeMain> {
  void initState() {
    super.initState();
  }
  @override
  Widget build(BuildContext context) {
    return Scaffold(
      body: statePage(),
      bottomSheet: Row(
        mainAxisAlignment: MainAxisAlignment.spaceEvenly,
        children: [
          Text("example text, not important."),
        ],
      ),
    );
  }
}

statePage() {
  StreamBuilder<int>(
    // stream: _pageIndex,
    builder: (BuildContext context, AsyncSnapshot<int> snapshot) {
      _pageIndex = snapshot.data;
      if (_pageIndex == 1) {
        return welcomeScreen_1();
      } else if (_pageIndex == 2) {
        return welcomeScreen_2();
      } else if (_pageIndex == 3) {
        return welcomeScreen_3();
      } else {
        return welcomeScreen_1();
      }
    },
  );
}

I will place a progress bar on the bottomSheet. I can handle this. Just help me how to listen for _pageIndex. Thanks in advance for your help.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文