Flutter ItemList中的ItemList不滚动

Flutter ItemList中的ItemList不滚动,flutter,listview,flutter-layout,Flutter,Listview,Flutter Layout,我有一个嵌套的ItemList,如下所示: SafeArea( child: ListView( padding: EdgeInsets.zero, children: <Widget>[ ListTile( title: Text('Placeholder'), ), ListView.builder( shrinkWrap: true, itemCount: itemList.

我有一个嵌套的ItemList,如下所示:

SafeArea(
  child: ListView(
    padding: EdgeInsets.zero,
    children: <Widget>[
      ListTile(
        title: Text('Placeholder'),
      ),
      ListView.builder(
        shrinkWrap: true,
        itemCount: itemList.length,
        itemBuilder: (BuildContext context, int index) {
          final itemData = itemList[index];
          return Card(
            child: ListTile(
              title: Container(
                width: MediaQuery.of(context).size.width,
                child: Text(
                  itemData.text,
                  maxLines: 1,
                  overflow: TextOverflow.ellipsis,
                  style: Theme.of(context).textTheme.headline5,
                ),
              ),
            ),
          );
        },
      ),
    ],
  ),
),
安全区(
子:ListView(
填充:EdgeInsets.zero,
儿童:[
列表砖(
标题:文本(“占位符”),
),
ListView.builder(
收缩膜:对,
itemCount:itemList.length,
itemBuilder:(构建上下文,int索引){
最终项目数据=项目列表[索引];
回程卡(
孩子:ListTile(
标题:集装箱(
宽度:MediaQuery.of(context).size.width,
子:文本(
itemData.text,
maxLines:1,
溢出:TextOverflow.省略号,
风格:Theme.of(context).textTheme.headline5,
),
),
),
);
},
),
],
),
),
我可以在按住直接放置在第一个列表中的项目时上下滚动,这样做也会将项目从嵌套列表中移出。(通缉行为)

在子列表中保存项目(包含生成器的子列表)时,任何位置都不会移动

我想使所有项目移动时,他们中的任何一个举行滚动,我怎么能做到这一点


有没有办法在没有ListView.builder的情况下构建列表,或者我遗漏了一些ListView参数?

您可以使用
ListView的
物理
参数来获得预期的结果

SafeArea(
    child: ListView(
      physics: AlwaysScrollableScrollPhysics(), // add this
      padding: EdgeInsets.zero,
      children: <Widget>[
        ListTile(
          title: Text('Placeholder'),
        ),
        ListView.builder(
          physics: NeverScrollableScrollPhysics(), // and this
          shrinkWrap: true,
          itemCount: itemList.length,
          itemBuilder: (BuildContext context, int index) {
            final itemData = itemList[index];
            return Card(
              child: ListTile(
                title: Container(
                  width: MediaQuery.of(context).size.width,
                  child: Text(
                    itemData.text,
                    maxLines: 1,
                    overflow: TextOverflow.ellipsis,
                    style: Theme.of(context).textTheme.headline5,
                  ),
                ),
              ),
            );
          },
        ),
      ],
    ),
  )
安全区(
子:ListView(
物理:AlwaysScrollableScrollPhysics(),//添加此
填充:EdgeInsets.zero,
儿童:[
列表砖(
标题:文本(“占位符”),
),
ListView.builder(
物理学:NeverScrollableScrollPhysics(),//还有这个
收缩膜:对,
itemCount:itemList.length,
itemBuilder:(构建上下文,int索引){
最终项目数据=项目列表[索引];
回程卡(
孩子:ListTile(
标题:集装箱(
宽度:MediaQuery.of(context).size.width,
子:文本(
itemData.text,
maxLines:1,
溢出:TextOverflow.省略号,
风格:Theme.of(context).textTheme.headline5,
),
),
),
);
},
),
],
),
)

现在您的列表应该可以滚动了。

效果很好,非常感谢。我对物理学一无所知