我是 Flutter 的新手,我不确定这是否与已发布到此论坛的问题有关,所以我正在尝试从 firebase 存储加载图像,我的 url 很好,当我打印出来时系统并单击 url,我可以看到图像,但我不确定为什么在我的设备或笔记本电脑上尝试时图像没有加载,但是当我在代码上按 ctrl + s / hot reload 时,图像已加载。
这是我做过的几件事:
- 确保将 Internet 添加到 android-manifest.xml
- 在我的笔记本电脑上禁用代理连接
运行代码时我在使用什么:1. Windows 操作系统 2. OPPO F1s 3. Nexus 5x API R (AVD Manager)
我也从 adb shell ping 了谷歌(连接到我的 oppo 设备)它也可以工作。
我不确定为什么需要热重新加载才能正确加载图像,有没有关于这个问题的解决方案?
下面是我的代码的样子:
import 'package:flutter/material.dart';
import 'package:flutter_app/models/app_state.dart';
import 'package:flutter_app/models/produk.dart';
import 'package:flutter_app/pages/halaman_produk_detail.dart';
import 'package:flutter_app/redux/actions.dart';
import 'package:flutter_redux/flutter_redux.dart';
import 'package:transparent_image/transparent_image.dart';
class ProdukItems extends StatelessWidget{
final dynamic item;
ProdukItems({this.item});
bool _isInCart(AppState state, String id){
final List<Produk> listProduk = state.keranjangBelanja;
return listProduk.indexWhere((produk) => produk.id == id) > -1;
}
@override
Widget build(BuildContext context) {
final String pictureUrl = item.gambarProdukFirebaseDB;
return InkWell(
onTap: () => Navigator.of(context).push(
MaterialPageRoute(
builder: (context){
return HalamanProdukDetail(item: item);
}
)
),
child:
GridTile(
child: Hero(
tag: item,
child: FadeInImage.memoryNetwork(placeholder: kTransparentImage, image: pictureUrl, fit: BoxFit.cover,)),
footer: GridTileBar(
title: FittedBox(
fit: BoxFit.scaleDown,
alignment: Alignment.centerLeft,
child: Text(item.namaProduk, style: TextStyle(fontSize: 20.0),),
),
subtitle: Text("Rp. ${item.hargaProduk}",style: TextStyle(fontSize: 16.0),),
backgroundColor: Colors.black38,
trailing: StoreConnector<AppState, AppState>(
converter: (store) => store.state,
builder: (_, state){
return state.user != null ?
IconButton(
icon: Icon(Icons.shopping_cart), color: _isInCart(state, item.id) == true ? Colors.blue[400] : Colors.white ,
onPressed: ()=> {
StoreProvider.of<AppState>(context).dispatch(pencetKeranjangProdukAction(item))
},) : Text('');
},
),
),
),);
}
}
先感谢您。