您好,所以我添加了一種在串列中顯示我的 url 影像的方法,但是因為我從公共 API 獲取此資訊,其中一些缺少 URL 并發生錯誤,我嘗試使用占位符和影像錯誤生成器,但這沒有幫助
這是我的代碼:
child: FadeInImage.assetNetwork(
height: 100,
width: 100,
fit: BoxFit.fill,
image: newsList[index].urlToImage,
placeholder: 'images/placeholder.png',
imageErrorBuilder: (context, error, StackTrace) {
return const Image(
height: 100,
width: 100,
image: AssetImage("images/placeholder.png"));
},
),
和錯誤:
══╡ EXCEPTION CAUGHT BY WIDGETS LIBRARY ╞═══════════════════════════════════════════════════════════
The following assertion was thrown building:
'package:flutter/src/widgets/fade_in_image.dart': Failed assertion: line 234 pos 15: 'image !=
null': is not true.
![使用 FadeInImage 和 url [Flutter] 影像不能為空](https://img.uj5u.com/2022/02/17/101a4b035f11483c9631581a2c0d4b1d.jpg)
更新代碼:
child: newsList[index].urlToImage == null
? Container(
decoration: BoxDecoration(
image: DecorationImage(
image: AssetImage("images/placeholder.png"),
),
),
)
: FadeInImage.assetNetwork(
height: 100,
width: 100,
fit: BoxFit.fill,
image: newsList[index].urlToImage,
placeholder: 'images/placeholder.png',
imageErrorBuilder:
(context, error, StackTrace) {
return const Image(
height: 100,
width: 100,
image:
AssetImage("images/placeholder.png"));
},
),
和錯誤資訊:
![使用 FadeInImage 和 url [Flutter] 影像不能為空](https://img.uj5u.com/2022/02/17/6861ea70dd59443992fbbe0b2ed8a1d5.jpg)
uj5u.com熱心網友回復:
imageErrorBuilder只有在影像加載程序中發生錯誤時才會被呼叫,例如影像路徑不存在。
要解決您的問題,您必須檢查 url 是 null 還是空。如果為 null,則顯示另一個小部件,否則顯示FadeInImage。
newsList[index].urlToImage == null ? DisplayNoImage: FadeInImage.assetNetwork(...),
轉載請註明出處,本文鏈接:https://www.uj5u.com/qiye/425909.html
