首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >ListView inside ListView ( Pagewise )

ListView inside ListView ( Pagewise )
EN

Stack Overflow用户
提问于 2019-06-17 18:47:57
回答 2查看 6.7K关注 0票数 3

我仍然非常新鲜,我正在尝试创建一个注释列表部分,其子注释可以嵌套在父注释中。

我所做的是在动态ListView中创建一个ListView --在本例中,我使用第三方库PagewiseListView来延迟加载。但在建立清单时有一些错误。

代码语言:javascript
复制
 @override
  Widget build(BuildContext context) {
    return Scaffold(
      body: pageWiseBuilder(context, _story.kids ?? [], PAGE_SIZE),
    );
  }

  Widget pageWiseBuilder(BuildContext context, List<int> list, int pageSize) {
    if (list != null && list.length > 0) {
      return PagewiseListView(
        padding: EdgeInsets.all(15.0),
        pageSize: pageSize,
        itemBuilder: this.itemBuilder,
        pageFuture: (pageIndex) =>
            _repository.fetchComments(list, pageIndex * pageSize, pageSize),
      );
    } else {
      return Container();
    }
  }

  Widget itemBuilder(BuildContext context, Comment entry, int index) {
    return Column(
      children: <Widget>[
        ListTile(
          title: Text(entry.by ??= ""),
          subtitle: Html(
            data: unescape.convert(entry.text ??= ""),
            useRichText: true,
            onLinkTap: (url) {
              _launchURL(url);
            },
            showImages: true,
            renderNewlines: true,
          ),
        ),
        Divider(),
        Column(
          mainAxisSize: MainAxisSize.min,
          mainAxisAlignment: MainAxisAlignment.spaceBetween,
          children: <Widget>[
            Expanded(
              child: SizedBox(height: 200.0,
                child: ListView.builder(
                  physics: ClampingScrollPhysics(),
                  shrinkWrap: true,
                  itemCount: 5,
                  itemBuilder: (context, index) {
                    return Padding(
                      padding: EdgeInsets.only(top: 8.0),
                      child: Text('Nested list item $index'),
                    );
                  },
                ),
              ),
            ),
          ],
        ),
      ],
    );
  }

I/颤振( 885):另一个异常被抛出: RenderFlex子程序具有非零的挠度,但是传入的高度约束是无限的。 I/颤振( 885):抛出另一个异常: RenderBox未布局: RenderFlex#a1031 relayoutBoundary=up6 RenderBox RenderFlex#a1031 relayoutBoundary=up6 RenderBox复合位-UPDATE I/颤振( 885):抛出另一个异常: RenderBox未布局: RenderFlex#11980 relayoutBoundary=up5 RenderBox RenderFlex#11980 relayoutBoundary=up5 RenderBox复合位-UPDATE I/颤振( 885):另一个异常被抛出: RenderFlex子程序具有非零的挠度,但是传入的高度约束是无限的。 I/颤振( 885):抛出另一个异常: RenderBox未布局: RenderFlex#a33b5 relayoutBoundary=up6 RenderBox RenderFlex#a33b5 relayoutBoundary=up6 RenderBox复合位-UPDATE I/颤振( 885):抛出另一个异常: RenderBox未布局: RenderFlex#48c2a relayoutBoundary=up5 RenderBox RenderFlex#48c2a relayoutBoundary=up5 RenderBox复合位-UPDATE I/颤振( 885):抛出另一个异常: RenderBox未布局: RenderRepaintBoundary#d6726 relayoutBoundary=up4 RenderBox RenderRepaintBoundary#d6726 relayoutBoundary=up4 RenderBox复合位-UPDATE I/颤振( 885):抛出另一个异常:'package:flutter/src/rendering/sliver_multi_box_adaptor.dart':失败断言:第549行pos 12:‘Failed . Another’:不是真。 I/颤振( 885):另一个异常被抛出: NoSuchMethodError:方法'>‘在null上被调用. I/颤振( 885):抛出另一个异常:'package:flutter/src/rendering/sliver_multi_box_adaptor.dart':失败断言:第549行pos 12:‘Failed . Another’:不是真。

EN

回答 2

Stack Overflow用户

发布于 2020-04-27 23:28:14

您的ListView必须用至少有高度的Widget包装。

代码语言:javascript
复制
  Container(
    height: 100,
    child: ListView(
            scrollDirection: Axis.horizontal,
            children: <Widget>[],
            ),
 ),
票数 2
EN

Stack Overflow用户

发布于 2020-02-20 04:30:14

我认为您需要删除代码中的任何灵活性,它适合我。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/56637176

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档