【发布时间】:2019-01-16 18:38:51
【问题描述】:
我想在我的代码中将我的获取响应 JSON 数据作为 FixedExtentScrollPhysics ViewList
无论我尝试了什么,都会出现一些错误
而我实际上所做的是
我有一个 FixedExtentScrollPhysics 代码和一个获取响应代码,我将它们混合在一起
但是出现了错误
我的代码是这样的
import 'package:flutter/material.dart';
import 'dart:async';
import 'dart:convert';
import 'package:http/http.dart' as http;
void main() => runApp(MyApp());
class MyApp extends StatefulWidget {
@override
MyAppState createState() => MyAppState();
}
class MyAppState extends State<MyApp> {
final FixedExtentScrollController fixedExtentScrollController =
new FixedExtentScrollController();
List data;
final String url = "https://jsonplaceholder.typicode.com/todos";
Future<String> getTitle() async {
var res = await http
.get(Uri.encodeFull(url), headers: {"Accept": "application/json"});
setState(() {
var resBody = json.decode(res.body);
data = resBody;
});
return "Success!";
}
@override
Widget build(BuildContext context) {
return MaterialApp(
home: Scaffold(
appBar: AppBar(
backgroundColor: Colors.deepPurple,
title: const Text('List'),
),
body:new Expanded(
flex: 1,
child:ListView.builder(
controller: fixedExtentScrollController,
physics: FixedExtentScrollPhysics(),
itemCount: data == null ? 0 : data.length,
itemBuilder: (BuildContext context, int index) {
return new Container(
child: Center(
child: Column(
crossAxisAlignment: CrossAxisAlignment.stretch,
children: <Widget>[
Card(
child: Container(
padding: EdgeInsets.all(15.0),
child: Row(
children: <Widget>[
Text("Title: "),
Text(data[index]["title"],
style: TextStyle(
fontSize: 11.0, color: Colors.black87)),
],
)),
),
],
),
),
);
},
),
),
),
);
}
@override
void initState() {
super.initState();
this.getTitle();
}
}
有什么帮助吗?
【问题讨论】: