Flutter for api中的水平列表视图构建器

Posted

技术标签:

【中文标题】Flutter for api中的水平列表视图构建器【英文标题】:horizontal listview builder in flutter for api 【发布时间】:2020-09-26 23:59:05 【问题描述】:

如何创建一个水平列表视图,其中数据取自 dart 对象类,即 API

这是代码:

return MaterialApp(
      home: Scaffold(
        appBar: AppBar(
          title: Text("practice"),
        ),
        // child: Text("data")
        body:Container(
           child: ListView.builder(
           scrollDirection: Axis.horizontal,
           itemCount: l1.length,
           itemBuilder: (context , index)
              return ListTile(
                     title: Image.network(l1[index]),
                     subtitle: Text(l2[index]),
               );

我收到此错误:

RenderBox was not laid out: RenderPointerListener#784b4 relayoutBoundary=up8 NEEDS-PAINT NEEDS-COMPOSITING-BITS-UPDATE
'package:flutter/src/rendering/box.dart':
Failed assertion: line 1694 pos 12: 'hasSize'

【问题讨论】:

***.com/questions/52801201/… 参考这个,添加一些信息 1. 为 l1 和 l2 变量赋值的代码。 2. 完整的错误堆栈。 如果 l1 和 l2 使用 api 调用填充,我建议也查看 StreamBuilder 和 FutureBuilder。 【参考方案1】:

你的列表视图应该被包裹在一个有高度的容器中,给你的容器增加高度可以解决这个问题

body:Container(
       height: 100,
       child: ListView.builder(
       scrollDirection: Axis.horizontal,
       //Rest of your code

【讨论】:

以上是关于Flutter for api中的水平列表视图构建器的主要内容,如果未能解决你的问题,请参考以下文章

Flutter 中的列表视图

在 Flutter 的垂直列表中添加动态高度水平列表视图

Flutter/Firestore - 在流构建器中的动态列表视图上实现“分页”

Flutter中列内的容器之间不需要的间距

Listview 使应用程序 Flutter 崩溃

如何在按钮单击 FLUTTER 上刷新列表小部件数据