从 Flutter 中的另一个屏幕调用未来函数



我在popup.dart中有一个未来函数

import 'package:flutter/material.dart';
import 'dart:async';
void main() {
runApp(new MaterialApp(
home: new Popup(),
));
}
class Popup extends StatefulWidget {
@override
_PopupState createState() => _PopupState();
}
enum Answers{TEAMA,TEAMB}
class _PopupState extends State<Popup> {
String _value = '';
void _setValue(String value) => setState(() => _value = value);
Future _askUser() async {
switch(
await showDialog(
context: context,
child: new SimpleDialog(
title: new Text('SELECT YOUR TEAM',
),

我有pages/pageone.dart,我想称之为">_askUser"onTap。

import 'package:flutter/material.dart';
import 'package:myapp/popup.dart';
....
GestureDetector(
onTap: _askUser,
child: Container(
child: ClipRRect(
borderRadius: BorderRadius.circular(20.0),
child: Image.asset('assets/PLUS.png',
scale: 8),
),
),
),

我收到错误"未定义的名称'_askUser'"。

如何称呼_askUser?

在popup.dart中,一切正常,但我无法访问pageone.dart中的相同弹出链接

提前谢谢你!

我想最好的实现是在 user_service.dart 文件中声明您需要的有关用户的所有内容。在那里,你创建了一个类,比如

class UserService {
var playerTeam; // just for example
askUser() {} // the underscore in everything indicates it is private. 
}

让你的askUser更改"playerTeam",当你需要调用它时,请使用

UserService userService = UserService();
userService.askUser();

而且我不确定您的代码,但是制作UserService的单例可能会有很大帮助,因为它只有一个实例

最新更新