自定义类的方法中未显示 Flutter snackbar

标签 flutter

我需要在 init 中启动应用程序时显示 snackbar 以检查互联网连接。我在自定义类中的代码是:

import 'package:connectivity/connectivity.dart';
//import 'dart:async';
import 'package:flutter/material.dart';
import 'package:system_setting/system_setting.dart'; 

class Network{
   checkNetwork() async {
        var connectivityResult = await (Connectivity().checkConnectivity());
        if (connectivityResult == ConnectivityResult.none) {
          return 
          //print("no internet");
          SnackBar(
              content:  Text("Check internet Connectivity"),
              action: SnackBarAction(
                label: "Settings",
                onPressed: (){
                  SystemSetting.goto(SettingTarget.NOTIFICATION);
                },
              ),
            ); 
            //scaffoldKey.currentState.showSnackBar(snackbar);
            }
} 
}

访问方法如下:

 @override
  void initState() {
    super.initState();
    //Network.checkNetwork();

    Network objnetwork = Network();
    objnetwork.checkNetwork();
 }

我已经返回了一个正确执行的打印语句,但是当返回一个像 snackbar 或对话框这样的小部件时,它没有出现也没有显示任何异常。

最佳答案

发现答案是使用 flutter_after_layout,它在 build 函数完成后执行一个函数,以便可以显示 SnackBar。在这个关于 how to run method when build completes 的相关答案中可以找到更多解释。 .

关于自定义类的方法中未显示 Flutter snackbar,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54976821/

相关文章:

sockets - 使用 Flutter App 运行 SocketServer 并通过 Socket 与其他手机通信

flutter - 对话框中按按钮时文本未更新

flutter - 如何在 Hive (Flutter) 中存储列表?

android - Flutter Form:方法 'validate'在null上调用。 [所有配置均已配置]

Flutter DropdownButton 返回 onChange 事件错误

dart - 双击按钮时如何在 flutter 中修复多个导航

flutter - 如何将插入文本表单字段的文本转换为 flutter 中的图像?

Flutter 实现暂停和播放...... 流媒体音乐

flutter - 限制文本小部件的字符数?

android-studio - Android Studio 中的 Flutter 热重载