欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

flutter:listview嵌套的子布局不显示

程序员文章站 2022-05-25 20:50:52
...
RenderCustomMultiChildLayoutBox object was given an infinite size during layout.
This probably means that it is a render object that tries to be as big as possible, but it was put
inside another render object that allows its children to pick their own size.
The nearest ancestor providing an unbounded height constraint is:
  RenderIndexedSemantics#6af77 relayoutBoundary=up3 NEEDS-LAYOUT NEEDS-PAINT
  creator: IndexedSemantics ← NotificationListener<KeepAliveNotification> ← KeepAlive ←
  AutomaticKeepAlive ← SliverList ← MediaQuery ← SliverPadding ← Viewport ← _ScrollableScope ←
  IgnorePointer-[GlobalKey#20f10] ← Semantics ← Listener ← ⋯
  parentData: index=0; layoutOffset=0.0 (can use size)
  constraints: BoxConstraints(w=360.0, 0.0<=h<=Infinity)
  semantic boundary
  size: MISSING
  index: 0

一开始是listview嵌套listview,我以为是类似Android里面那样,高度问题导致子view不显示,通过转换ColumnContainer…都不显示,但是我单独拿出来不放在listview中,能正常显示-------这是所暴露的问题,历时好一会之后;
listview里面包含的是Widget,并不是Scaffold
在你引入的子布局模块时,要注意该模块return的是什么,对比下面

/////////////////////////////////////这就是listview不显示的原罪
return Scaffold(
      body: ChipTheme(
        data: theme.chipTheme,
        child:  _ChipsTile(children: choiceChips)
      ),

    );
//正常显示
return Container(
      child: ChipTheme(
        data: theme.chipTheme,
        child:  _ChipsTile(children: choiceChips)
      ),

    );