StatefulWidget可用于此目的。声明一个成员变量
String _textFromFile = "";
在您的State类中,并通过使用
setState()method
在将来解决时更新其值。
我
getTextFromFile()从构造函数调用了您的方法,但是您可以在任何地方调用它。
运行代码:
import 'package:flutter/material.dart';import 'dart:async';class StatefullWidgetDemo extends StatefulWidget { @override _StatefulWidgetDemoState createState() { return new _StatefulWidgetDemoState(); }}class _StatefulWidgetDemoState extends State<StatefullWidgetDemo> { String _textFromFile = ""; _StatefulWidgetDemoState() { getTextFromFile().then((val) => setState(() { _textFromFile = val; })); } @override Widget build(BuildContext context) { return new Scaffold( appBar: new AppBar( title: new Text('Stateful Demo'), ), body: new SingleChildScrollView( padding: new EdgeInsets.all(8.0), child: new Text( _textFromFile, style: new TextStyle( fontWeight: FontWeight.bold, fontSize: 19.0, ), ), ), ); } Future<String> getFileData(String path) async { return "your data from file"; } Future<String> getTextFromFile() async { return await getFileData("test.txt"); }}


