【发布时间】:2020-03-27 01:20:58
【问题描述】:
我一直试图让来自 json 的数据直接显示在一个页面中,比如一个段落,但我没有这样做,我成功地用一个按钮拉它,但我只想在我进入这个页面后显示数据直接地。 我在这里错过了什么? 非常感谢您的帮助。
import 'package:flutter/material.dart';
import 'dart:async';
import 'dart:convert';
import 'package:http/http.dart' as http;
class Page1 extends StatefulWidget {
@override
State<StatefulWidget> createState() {
// TODO: implement createState
return Page1State();
}
Future<List> getData() async {
String myURL = 'https://jsonplaceholder.typicode.com/users';
http.Response response = await http.get(myURL);
print(getData());
return json.decode(response.body);
}
}
class Page1State extends State<Page1> {
var page = Page1();
List data;
List myTextData;
void getMyData() async {
data = await (page.getData());
print(data);
setState(() {
myTextData = data;
});
}
@override
Widget build(BuildContext context) {
// TODO: implement build
return Scaffold(
appBar: AppBar(
title: Text('Page1'),
),
body: Container(
child: Column(
children: <Widget>[
Expanded(
child: new SingleChildScrollView(
child: Text(
'$getMyData',
style: TextStyle(fontSize: 30),
),
),
),
],
),
),
);
}
}
import 'package:flutter/material.dart';
import 'Home.dart';
main() async {
runApp(MaterialApp(
home: Home(),
title: '',
));
}
【问题讨论】:
-
因为
getMyData是一个void方法,所以你什么都得不到
标签: json android-studio flutter dart