【发布时间】:2021-08-24 15:21:23
【问题描述】:
我在我的应用程序中使用了Numbers Api,但是当按下按钮时,它在屏幕上显示为空。我的 API 也只包含字符串。
这是我的 API 代码:
String fact;
Future fetchData() async {
Response response;
response = await get(Uri.https('numbersapi.com', 'random/trivia'));
if (response.statusCode == 200) {
print(response.statusCode);
setState(() {
fact = response.body;
});
}
}
@override
void initState() {
fetchData();
super.initState();
}
@override
Widget build(BuildContext context) {
.....
由于 Text 小部件不接受空值,我将其转换为 toString() -
fact.toString(),
style: TextStyle(
fontSize: 20.0,
color: Colors.white,
),
),
但是当fetchData()传入提升按钮的onPressed属性时,在屏幕上显示为null。
如何在屏幕上显示事实而不是 null?
任何帮助将不胜感激:)
【问题讨论】:
-
可以把按钮代码也放上来吗?
-
@Pushpendra 是的,它只是 -
child: ElevatedButton( onPressed: () { fetchData(); }, -
当我
print(fetchData());它给了 -Instance of 'Future<dynamic>' -
你需要
await -
@Pushpendra 我已经这样做了....