【发布时间】:2021-04-19 20:22:03
【问题描述】:
这是我关于这个问题的第二篇文章。由于我有限的飞镖知识,我无法弄清楚这一点。我总是搞砸期货部分。 这是问题所在的代码:
import 'package:flutter/cupertino.dart';
import 'package:flutter/material.dart';
import 'package:slide_journal/Database_.dart';
class ListOfEntries extends StatelessWidget{
@override
Widget build(BuildContext context) {
return Scaffold(
appBar: AppBar(
shape: RoundedRectangleBorder(borderRadius: BorderRadius.vertical(bottom: Radius.circular(30))),
title: Text("Your entries"),
toolbarHeight: 50,
),
body: FutureBuilder<List>(
future: Database_().entries(),
builder: (context, snapshot) {
return snapshot.hasData ?
new ListView.builder(
padding: const EdgeInsets.all(10.0),
itemCount: snapshot.data.length,
itemBuilder: (context, i) {
return Column(
children: [
Text("${snapshot.data[i]}"),
],
);
},
)
: Center(
child: Column(
crossAxisAlignment: CrossAxisAlignment.center,
mainAxisAlignment: MainAxisAlignment.center,
children: [
CircularProgressIndicator(),
Text(""),
Text("No entries yet:("),
],
)
);
}
),
);
}
}
这是从数据库部分读取的参考:
Future<List<Entry_>> entries() async {
final Database db = await database;
final List<Map<String, dynamic>> maps = await db.query('[Journal Entries]');
return List.generate(maps.length, (i) {
return Entry_ (
maps[i]["_entry"],
maps[i]["_date"],
);
});
}
它不显示列表中的项目,而是显示: “'Entry_ 的实例 '"
【问题讨论】: