import 'package:flutter/material.dart';
import 'dart:async';
import 'package:http/http.dart' as http;
import 'dart:convert';
void main() => runApp(Myapp());
class Myapp extends StatelessWidget {
@override
Widget build(BuildContext context) {
return MaterialApp(
home: HomeScreen(),
);
}
}
Future<List<userData>>_getUserData() async{
final response =await http.get("https://dev.uneva.in/task_721/list.php");
var jsonData = json.decode(response.body);
List<userData> users = [];
for (var i in jsonData){
userData user = userData(i["other"]["pid"], i["name"], i["description"],i["status"] ,i["tokenName"],i["updatedAt"] ,i["tokenNumber"]);
users.add(user);
}
print(users.length);
return users;
}
class HomeScreen extends StatefulWidget {
@override
_HomeScreenState createState() => _HomeScreenState();
}
class _HomeScreenState extends State<HomeScreen> {
@override
Widget build(BuildContext context) {
return Scaffold(
appBar: AppBar(
title: Text("ECHO-ALL"),
),
body: Container(
child: FutureBuilder(
future: _getUserData(),
builder: (BuildContext context, AsyncSnapshot snapshot) {
if (snapshot.data == null) {
return Container(
child: Center(
child: Text("Waiting for data...."),
),
);
} else {
return ListView.builder(
itemCount: snapshot.data.length,
itemBuilder: (BuildContext context, int index) {
return ListTile(
title: Text(snapshot.data[index].name),
);
});
}
},
),
),
);
}
}
class userData {
final String pid;
final String name;
final String description;
final String status;
final String tokenName;
final String updatedAt;
final String tokenNumber;
userData(this.pid, this.name, this.description, this.status, this.tokenName,
this.updatedAt, this.tokenNumber);
}
我在哪里做错了?
class userData {
final int pid;
final String name;
final String description;
final int status;
final String tokenName;
final String updatedAt;
final int tokenNumber;
userData(this.pid, this.name, this.description, this.status, this.tokenName, this.updatedAt, this.tokenNumber);
}
如果您按约定重命名此类-UserData,也会更好。>