Flutter создает класс Utility, но асинхронная функция не может быть вызвана - PullRequest
0 голосов
/ 24 сентября 2018

Мое приложение флаттера создало класс Utility и хотело бы использовать функции из класса утилит в разных файлах / страницах.Но асинхронную функцию класса Utility нельзя назвать другими файлами.Пожалуйста, помогите решить эту проблему.

enter image description here

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

class Utility {

  ConnectivityResult connectivityResult;

  Future<bool> checkConnection() async{
    connectivityResult = await (new Connectivity().checkConnectivity());

    if ((connectivityResult == ConnectivityResult.mobile) || (connectivityResult == ConnectivityResult.wifi)){
      return true;
    } else {
      return false;
    }
  }

  static void showAlert(BuildContext context, String text) {
    var alert = new AlertDialog(
      content: Container(
        child: Row(
          children: <Widget>[Text(text)],
        ),
      ),
      actions: <Widget>[
        new FlatButton(
            onPressed: () => Navigator.pop(context),
            child: Text(
              "OK",
              style: TextStyle(color: Colors.white),
            ))
      ],
    );

    showDialog(
        context: context,
        builder: (_) {
          return alert;
        });
  }
}

1 Ответ

0 голосов
/ 24 сентября 2018

используйте static ключевое слово для вашей функции

static Future<bool> checkConnection()

или создайте экземпляр класса Utility

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...