为什么我的 ListView.builder 不显示?

时间:2021-05-08 09:06:38

标签: flutter dart

我有一个从 Json Dan 中提取数据的应用程序。我想提取数据并将其显示在轮播中。屏幕和vscode都没有错误。但我的图片在轮播中不可见,我收到了这样的错误。

           SingleChildScrollView(
                child: Column(
                  mainAxisAlignment: MainAxisAlignment.center,
                  mainAxisSize: MainAxisSize.min,
                  
                  children: [
                    SizedBox(
                      height: 300.0,
                      width: double.infinity,
                      child: ListView.builder(
                        itemCount: snapshot.data.pictures.length - 1,
                        itemBuilder: (context, index) {
                          return Carousel(
                            dotSize: 5,
                            dotIncreaseSize: 5,
                            images: [
                              Image.network(snapshot
                                  .data.pictures[index].pictureurl)
                            ],
                          );
                        },
                      ),
                    ),...
                    ])
<块引用>

E/flutter (5060): [ERROR:flutter/lib/ui/ui_dart_state.cc(199)] 未处理的异常:对空值使用空检查运算符 E/flutter (5060): #0 RenderViewportBase.hitTestChildren (package:flutter/src/rendering/viewport.dart:703:26) E/flutter(5060):#1 RenderBox.hitTest(包:flutter/src/rendering/box.dart:2413:11) E/flutter (5060): #2 RenderProxyBoxMixin.hitTestChildren (package:flutter/src/rendering/proxy_box.dart:131:19) E/flutter(5060):#3 RenderBox.hitTest(包:flutter/src/rendering/box.dart:2413:11) E/flutter (5060): #4 RenderIgnorePointer.hitTest (package:flutter/src/rendering/proxy_box.dart:3257:31) E/flutter (5060): #5 RenderProxyBoxMixin.hitTestChildren (package:flutter/src/rendering/proxy_box.dart:131:19) E/flutter(5060):#6 RenderBox.hitTest(包:flutter/src/rendering/box.dart:2413:11) E/flutter (5060): #7 RenderProxyBoxMixin.hitTestChildren (package:flutter/src/rendering/proxy_box.dart:131:19) E/flutter (5060): #8 RenderProxyBoxWithHitTestBehavior.hitTest (package:flutter/src/rendering/proxy_box.dart:178:19) E/flutter (5060): #9 RenderProxyBoxMixin.hitTestChildren (package:flutter/src/rendering/proxy_box.dart:131:19) E/flutter (5060): #10 RenderProxyBoxWithHitTestBehavior.hitTest (package:flutter/src/rendering/proxy_box.dart:178:19) E/flutter (5060): #11 RenderProxyBoxMixin.hitTestChildren (package:flutter/src/rendering/proxy_box.dart:131:19) E/flutter (5060): #12 RenderProxyBoxWithHitTestBehavior.hitTest (package:flutter/src/rendering/proxy_box.dart:178:19) E/flutter (5060): #13 RenderProxyBoxMixin.hitTestChildren (package:flutter/src/rendering/proxy_box.dart:131:19) E/flutter(5060):#14 RenderBox.hitTest(包:flutter/src/rendering/box.dart:2413:11) E/flutter (5060): #15 RenderProxyBoxMixin.hitTestChildren (package:flutter/src/rendering/proxy_box.dart:131:19) E/flutter(5060):#16 RenderBox.hitTest(包:flutter/src/rendering/box.dart:2413:11) E/flutter (5060): #17 RenderProxyBoxMixin.hitTestChildren (package:flutter/src/rendering/proxy_box.dart:131:19) E/flutter (5060): #18 RenderCustomPaint.hitTestChildren (package:flutter/src/rendering/custom_paint.dart:535:18) E/flutter(5060):#19 RenderBox.hitTest(包:flutter/src/rendering/box.dart:2413:11) E/flutter (5060): #20 RenderProxyBoxMixin.hitTestChildren (package:flutter/src/rendering/proxy_box.dart:131:19) E/flutter(5060):#21 RenderBox.hitTest(包:flutter/src/rendering/box.dart:2413:11) E/flutter (5060): #22 RenderProxyBoxMixin.hitTestChildren (package:flutter/src/rendering/proxy_box.dart:131:19) E/flutter(5060):#23 RenderBox.hitTest(包:flutter/src/rendering/box.dart:2413:11) E/flutter(5060):#24 RenderBoxContainerDefaultsMixin.defaultHitTestChildren。 (包:flutter/src/rendering/box.dart:2774:25)
E/flutter (5060): #25 BoxHitTestResult.addWithPaintOffset (package:flutter/src/rendering/box.dart:786:31) E/flutter(5060):#26 RenderBoxContainerDefaultsMixin.defaultHitTestChildren(包:flutter/src/rendering/box.dart:2769:33) E/flutter (5060): #27 RenderFlex.hitTestChildren (package:flutter/src/rendering/flex.dart:1072:12) E/flutter(5060):#28 RenderBox.hitTest(包:flutter/src/rendering/box.dart:2413:11) E/flutter(5060):#29 _RenderSingleChildViewport.hitTestChildren。 (包:flutter/src/widgets/single_child_scroll_view.dart:661:25) E/flutter (5060): #30 BoxHitTestResult.addWithPaintOffset (package:flutter/src/rendering/box.dart:786:31) E/flutter(5060):#31 _RenderSingleChildViewport.hitTestChildren(包:flutter/src/widgets/single_child_scroll_view.dart:656:21) E/flutter(5060):#32 RenderBox.hitTest(包:flutter/src/rendering/box.dart:2413:11) E/flutter (5060): #33 RenderProxyBoxMixin.hitTestChildren (package:flutter/src/rendering/proxy_box.dart:131:19) E/flutter(5060):#34 RenderBox.hitTest(包:flutter/src/rendering/box.dart:2413:11) E/flutter (5060): #35 RenderIgnorePointer.hitTest (package:flutter/src/rendering/proxy_box.dart:3257:31) E/flutter (5060): #36 RenderProxyBoxMixin.hitTestChildren (package:flutter/src/rendering/proxy_box.dart:131:19) E/flutter(5060):#37 RenderBox.hitTest(包:flutter/src/rendering/box.dart:2413:11) E/flutter (5060): #38 RenderProxyBoxMixin.hitTestChildren (package:flutter/src/rendering/proxy_box.dart:131:19) E/flutter(5060):#39 RenderProxyBoxWithHitTestBehavior.hitTest(包:flutter/src/rendering/proxy_box.dart:178:19) E/flutter (5060): #40 RenderProxyBoxMixin.hitTestChildren (package:flutter/src/rendering/proxy_box.dart:131:19) E/flutter(5060):#41 RenderProxyBoxWithHitTestBehavior.hitTest(包:flutter/src/rendering/proxy_box.dart:178:19) E/flutter (5060): #42 RenderProxyBoxMixin.hitTestChildren (package:flutter/src/rendering/proxy_box.dart:131:19) E/flutter(5060):#43 RenderProxyBoxWithHitTestBehavior.hitTest(包:flutter/src/rendering/proxy_box.dart:178:19) E/flutter(5060):#44 RenderProxyBoxMixin.hitTestChildren(包:flutter/src/rendering/proxy_box.dart:131:19) E/flutter(5060):#45 RenderBox.hitTest(包:flutter/src/rendering/box.dart:2413:11) E/flutter (5060): #46 RenderProxyBoxMixin.hitTestChildren (package:flutter/src/rendering/proxy_box.dart:131:19) E/flutter(5060):#47 RenderBox.hitTest(包:flutter/src/rendering/box.dart:2413:11) E/flutter(5060):#48 RenderProxyBoxMixin.hitTestChildren(包:flutter/src/rendering/proxy_box.dart:131:19) E/flutter (5060): #49 RenderCustomPaint.hitTestChildren (package:flutter/src/rendering/custom_paint.dart:535:18) E/flutter(5060):#50 RenderBox.hitTest(包:flutter/src/rendering/box.dart:2413:11) E/flutter (5060): #51 RenderProxyBoxMixin.hitTestChildren (package:flutter/src/rendering/proxy_box.dart:131:19) E/flutter(5060):#52 RenderBox.hitTest(包:flutter/src/rendering/box.dart:2413:11) E/flutter(5060):#53 RenderShiftedBox.hitTestChildren。 (包:flutter/src/rendering/shifted_box.dart:92:25) E/flutter (5060): #54 BoxHitTestResult.addWithPaintOffset (package:flutter/src/rendering/box.dart:786:31) E/flutter (5060): #55 RenderShiftedBox.hitTestChildren (package:flutter/src/rendering/shifted_box.dart:87:21) E/flutter (5060): #56 RenderBox.hitTest (package:flutter/src/rendering/box.dart:2413:11)

我该如何解决这个问题?

1 个答案:

答案 0 :(得分:1)

将您的 ListView.Builder() 包裹在 Expanded 小部件中。每次你有一个垂直增长的小部件时,例如ListViewGridView insdie Column 会出现此错误。解决方法是提供固定高度或将其包裹在 Expanded 小部件下。

查看此链接了解更多信息: https://stackoverflow.com/a/57132247/3197387