【问题标题】:horizontal listview builder in flutter for apiFlutter 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'

【问题讨论】:

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

标签: flutter


【解决方案1】:

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

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

【讨论】:

    猜你喜欢
    • 2019-12-27
    • 1970-01-01
    • 2020-11-13
    • 1970-01-01
    • 2020-05-17
    • 2018-10-13
    • 2021-02-17
    • 2019-12-24
    • 2018-12-07
    相关资源
    最近更新 更多