在这个Flutter项目中,我将来自本地sqlite数据库的信息显示在页面上 . 互联网上有很多使用ListView.builder和ListTile来显示的例子 . 但是,我不是这种情况,我希望能够从表中访问和显示特定列 .
首先,我创建一个List实例,然后使该实例成为一个类似的rawQuery .
List<Map> sqlite_tbl = db.rawQuery('SELECT * FROM sample_table');
然后,在页面的构建方法中,我将一些文本放在appBar和SingleChildScrollView中,这是我从数据库中检索的文本,如此...
child: new Text("${sqlite_tbl[0]['title']}",
child: new Text("${sqlite_tbl[0]['body']}",
当我从上一页访问此页面时,我得到带有NoSuchMethodError的红色闪光一两秒钟,然后页面将显示没有错误 . 在我的运行日志中,它会说'方法'[]'在null上调用 . Receiver:null尝试调用: . 所以我假设它是[0]我检索文本,但是一旦我删除它会说类型参数类型'String'不能分配给参数类型'int' .
有没有人知道检索此数据的正确方法或如何解决此问题?如果您需要查看更多我的代码,请告诉我 .
1 回答
方法
db.rawQuery
将返回Future<List<Map>>
类型 . 您应该将列表的实例化更改为:然后你必须调用
setState
.A better way for you to do this is something like:
然后,您将根据
initialized
的值构建UI .