【发布时间】:2021-01-26 10:13:13
【问题描述】:
我想用网格视图显示本地数据库中的图像。但它没有出现,这里有一些调试,但我不明白是什么问题。
═══════ 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),
];
}
【问题讨论】:
-
您确定像
Data.tanaman[index].image这样的资产真的存在吗?打印值并确保。
标签: flutter