失败的断言:第 137 行 pos 15:'assetName != null':不是真的。在颤振中

时间:2021-01-26 10:13:13

标签: flutter

我想用网格视图显示本地数据库中的图像。但它没有出现,这里有一些调试,但我不明白是什么问题。

enter image description here

═══════ Exception caught by widgets library ═══════════════════════════════════
'package:flutter/src/painting/image_resolution.dart': Failed assertion: line 137 pos 15: 'assetName != null': is not true.
════════════════════════════════════════════════════════════════════════════════
Another exception was thrown: 'package:flutter/src/painting/image_resolution.dart': Failed assertion: line 137 pos 15: 'assetName != null': is not true.

,图像 url 资产似乎有问题,我尝试在其他堆栈论坛中找到但找不到解决方案。有人可以帮我吗。

这是我的主要代码:

import 'package:flutter/material.dart';
import 'package:plantgo_alpha/constans/color_constans.dart';
import 'package:plantgo_alpha/models/data.dart';

class Forum extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    var body = Container(
      child: GridView.builder(
          shrinkWrap: true,
          itemCount: Data.tanaman.length,
          gridDelegate:
              SliverGridDelegateWithFixedCrossAxisCount(crossAxisCount: 2),
          itemBuilder: (BuildContext context, int index) {
            return Padding(
              padding: const EdgeInsets.all(8.0),
              child: InkWell(
                onTap: () {},
                child: Card(
                  color: Color(Data.tanaman[index]
                      .color), //ganti sama color di data nanti!!!
                  shape: RoundedRectangleBorder(
                      borderRadius: BorderRadius.circular(8.0)),
                  child: Container(
                    width: MediaQuery.of(context).size.width / 2,
                    height: 50,
                    child: Column(
                      children: <Widget>[
                        Expanded(
                          child: ClipRRect(
                            borderRadius: BorderRadius.only(
                              topLeft: Radius.circular(8.0),
                              topRight: Radius.circular(8.0),
                            ),
                            child: Hero(
                              tag: Data.tanaman[index].id,
                              child: FadeInImage(
                                image: NetworkImage(Data.tanaman[index].image),
                                fit: BoxFit.cover,
                                placeholder:
                                    AssetImage('assets/images/loading.gif'),
                              ),
                            ),
                          ),
                        ),
                        Padding(
                          padding: const EdgeInsets.all(4.0),
                          child: Text(
                            Data.tanaman[index].title,
                            style: TextStyle(
                                color: kBlackColor,
                                fontSize: 20,
                                fontWeight: FontWeight.bold),
                          ),
                        )
                      ],
                    ),
                  ),
                ),
              ),
            );
          }),
    );
    return Scaffold(
      body: body,
    );
  }
}

这是我的数据

import "package:plantgo_alpha/models/class.dart";

class Data {
  static List<Tanaman> tanaman = [
    Tanaman(
        id: '1',
        title: 'Sawi Hidroponik',
        image: 'assets/images/sawi0.jpg',
        steps: [
          'Siapkan alat dan Bahan : 1.Rockwoll, 2.Sprayer/Penyemprot Air, 3.Pinset, 4.Benih Sawi',
          'Siapkan media tanam, potong rockwool setebal 2,5 cm. Iris memanjang sedalam kurang lebih 1 cm menjadi 3 bagian dan iris melintang menjadi 6 bagian sedalam 1 cm. Lihat gambar di bawah ini untuk detailnya.',
          'Masukkan benih ke dalam lubang dengan posisi kecambah di bawah (1 lubang diisi 1 benih)'
              'tes enter',
          'Setelah semua lubang terisi, basahi rockwool menggunakan sprayer/semprotan dengan kekuatan air yang lembut. Taruh semaian di tempat terbuka yang cukup sinar matahari.',
          'Pada tahap ini adalah tahap perawatan semai, jaga rockwool agar tetap lembab (tidak terlalu basah dan tidak terlalu kering)',
          'Setelah sawi berdaun 3 atau lebih, sudah waktunya untuk dipindah ke sistem hidroponik dan diberi nutrisi hidroponik. Umur sawi sekitar 7-10 hari setelah semai.',
          'Step ini adalah tahap pindah tanam. Pisahkan/potong rockwool berdasarkan irisan yang dibuat pada step awal. Apabila susah untuk memisahkan rockwool, maka bisa menggunakan cutter untuk memotong rockwool sampe terpisah. Taruh potongan rockwool ke dalam netpot yang sudah dikasih flanel (sumbu)',
          'Letakkan netpot ke dalam sistem hidroponik, pada tahap ini nutrisi yang diberikan kepekatannya 600 ppm. Kepekatan nutrisi dinaikkan setelah masuk 5 hari setelah pindah tanam menjadi 800 ppm. Setelah memasuki 10 hari setelah tanam, naikkan kepekatan nutrisi menjadi 1200 ppm. Jaga ppm nutrisi selalu stabil di angka tersebut sampai panen.',
          'Masa Panen Sayur Sawi Hidroponik adalah sekitar 30-40 hari dengan cara dicabut beserta akarnya.'
        ],
        tools: ['Rockwoll', 'Sprayer/penyemprot air', 'pinset', 'Benih Sawi'],
        color: 0xFFD3EB91),
    Tanaman(
        id: '2',
        title: 'Bayam Hidroponik',
        image: 'assets/images/sawi1.jpg',
        steps: [
          'Siapkan alat dan Bahan : 1.Rockwoll, 2.Sprayer/Penyemprot Air, 3.Pinset, 4.Benih Sawi',
          'Siapkan media tanam, potong rockwool setebal 2,5 cm. Iris memanjang sedalam kurang lebih 1 cm menjadi 3 bagian dan iris melintang menjadi 6 bagian sedalam 1 cm. Lihat gambar di bawah ini untuk detailnya.',
          'Masukkan benih ke dalam lubang dengan posisi kecambah di bawah (1 lubang diisi 1 benih)'
              'tes enter',
          'Setelah semua lubang terisi, basahi rockwool menggunakan sprayer/semprotan dengan kekuatan air yang lembut. Taruh semaian di tempat terbuka yang cukup sinar matahari.',
          'Pada tahap ini adalah tahap perawatan semai, jaga rockwool agar tetap lembab (tidak terlalu basah dan tidak terlalu kering)',
          'Setelah sawi berdaun 3 atau lebih, sudah waktunya untuk dipindah ke sistem hidroponik dan diberi nutrisi hidroponik. Umur sawi sekitar 7-10 hari setelah semai.',
          'Step ini adalah tahap pindah tanam. Pisahkan/potong rockwool berdasarkan irisan yang dibuat pada step awal. Apabila susah untuk memisahkan rockwool, maka bisa menggunakan cutter untuk memotong rockwool sampe terpisah. Taruh potongan rockwool ke dalam netpot yang sudah dikasih flanel (sumbu)',
          'Letakkan netpot ke dalam sistem hidroponik, pada tahap ini nutrisi yang diberikan kepekatannya 600 ppm. Kepekatan nutrisi dinaikkan setelah masuk 5 hari setelah pindah tanam menjadi 800 ppm. Setelah memasuki 10 hari setelah tanam, naikkan kepekatan nutrisi menjadi 1200 ppm. Jaga ppm nutrisi selalu stabil di angka tersebut sampai panen.',
          'Masa Panen Sayur Sawi Hidroponik adalah sekitar 30-40 hari dengan cara dicabut beserta akarnya.'
        ],
        tools: ['Rockwoll', 'Sprayer/penyemprot air', 'pinset', 'Benih Sawi'],
        color: 0xFFD3EB91),
  ];
}

1 个答案:

答案 0 :(得分:1)

关闭,我已经通过将代码中的 NetworkImage 更改为 AssetImage 找到了答案,然后重新运行调试。