[英]Error: Null check operator used on a null value - for boolean value - in Flutter
[英]Null check operator used on a null value error in flutter
如何解決?
環境:sdk:">=2.12.0 <3.0.0"
這是一段具有空安全錯誤的代碼,我試圖從我的數據庫中獲取數據以顯示為輪播滑塊
FutureBuilder(
future: getSlider,
builder: (BuildContext context,
AsyncSnapshot<List<ModelEbook>> snapshot) {
if (snapshot.connectionState == ConnectionState.done) {
//Create design in here
return SizedBox(
height: 27.0.h,
child: Swiper(
autoplay: true,
itemCount: snapshot.data!.length,
itemBuilder: (BuildContext context, int index) {
return GestureDetector(
onTap: () {},
child: Padding(
padding: EdgeInsets.all(10),
child: Container(
child: Stack(
children: [
ClipRRect(
child: Image.network(
listSlider[index].photo,
fit: BoxFit.cover,
width: 100.0.w,
),
borderRadius:
BorderRadius.circular(15),
),
],
),
),
),
);
},
),
);
} else {
return Container();
}
},
),
下面是調試控制台中加載的錯誤
════════ Exception caught by widgets library ═══════════════════════════════════
The following _CastError was thrown building FutureBuilder<List<ModelEbook>>(dirty, state: _FutureBuilderState<List<ModelEbook>>#8fb37):
Null check operator used on a null value
The relevant error-causing widget was
FutureBuilder<List<ModelEbook>>
When the exception was thrown, this was the stack
#0 _HomeState.build.<anonymous closure>.
<anonymous closure>
#1 _FutureBuilderState.build
#2 StatefulElement.build
#3 ComponentElement.performRebuild
#4 StatefulElement.performRebuild
#5 Element.rebuild
#6 BuildOwner.buildScope
#7 WidgetsBinding.drawFrame
#8 SchedulerBinding._invokeFrameCallback
#9 SchedulerBinding.handleDrawFrame
(elided 3 frames from dart: async)
================================================= ==============================
您需要檢查snapshot.data
。 這應該是這樣的:
if (snapshot.connectionState == ConnectionState.done) {
//Create design in here
if (snapshot.data == null) {
return Text('no data');
} else
return SizedBox(
height: 27.0.h,
child: Swiper(
autoplay: true,
itemCount: snapshot.data!.length,
itemBuilder: (BuildContext context, int index) {
/// ....
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.