如何在列表视图生成器中显示数据库中的图像

问题描述 投票:0回答:1

请帮助我,我想在列表视图构造函数中显示图像,图像名称存储在数据库中。我的图像文件存储在“图片文件夹”中。我检索要在列表视图构建器中显示的图像,但图像未显示。代码似乎找不到我存储在“图片文件夹”中的图像文件。我需要修复什么才能显示图像?

class _view_problemState extends State<view_problem> {
  TextEditingController _searchController = TextEditingController();

  List<problemModel> problemlist = [];
  List<problemModel> originalList = [];
  StreamController _streamController = StreamController();
  Future getAllProblem() async {
    problemlist = await problemcontrollers().getProblem();
    originalList = problemlist;
    _streamController.sink.add(problemlist);
  }
Expanded(
              child: StreamBuilder(
                stream: _streamController.stream,
                builder: (context, snapshots) {
                  if (snapshots.hasData) {
                    return ListView.builder(
                        itemCount: problemlist.length,
                        itemBuilder: ((context, index) {
                          problemModel problem = problemlist[index];
                          return Card(
                            margin: EdgeInsets.all(10),
                            child: ListTile(
                              leading: Image.network(
                                problem.image,
                                height: 55,
                                width: 55,
                              ),
                                title: Text(
                                problem.name_surname,
                                style: TextStyle(
                                    fontWeight: FontWeight.bold, fontSize: 19),
                              ),
mysql flutter image dart listview
1个回答
0
投票
  1. 将图像放入

    assets
    文件夹

  2. 然后在

    pubspec.yaml
    文件中进行更改以从资源文件夹中访问图像,如下所示。

    assets:
      - 'assets/'
    
  3. 然后是要显示图像的位置

    StreamBuilder(
             stream: _streamController.stream,
             builder: (context, snapshots) {
               if (snapshots.hasData) {
                 return ListView.builder(
                     itemCount: problemlist.length,
                     itemBuilder: ((context, index) {
                       problemModel problem = problemlist[index];
                       return Card(
                         margin: EdgeInsets.all(10),
                         child: ListTile(
                           leading: Image.network(
                             "assets/" + problem.image,
                             height: 55,
                             width: 55,
                           ),
                             title: Text(
                             problem.name_surname,
                             style: TextStyle(
                                 fontWeight: FontWeight.bold, fontSize: 19),
                           ),
    

现在您将能够像这样显示图像

© www.soinside.com 2019 - 2024. All rights reserved.