Flutter ListView在另一个可滚动小部件中构建所有项目
我希望在另一个可滚动的小部件中有一个Flutter ListView在另一个可滚动小部件中构建所有项目,flutter,flutter-layout,Flutter,Flutter Layout,我希望在另一个可滚动的小部件中有一个ListView.builder小部件,但是当我构建这样一个树时,内部的ListView.builder会构建所有项目(因此,对于庞大的列表,呈现速度很慢) 我有以下构建方法: 小部件构建(构建上下文){ 返回脚手架( 正文:SingleChildScrollView( 子:列( 儿童:[ 正文(“”), ListView.builder( 收缩膜:对, 主要:错误, 物品计数:999, itemBuilder:(uz,位置){ 如果(位置==998) {/*
ListView.builder
小部件,但是当我构建这样一个树时,内部的ListView.builder
会构建所有项目(因此,对于庞大的列表,呈现速度很慢)
我有以下构建方法:
小部件构建(构建上下文){
返回脚手架(
正文:SingleChildScrollView(
子:列(
儿童:[
正文(“”),
ListView.builder(
收缩膜:对,
主要:错误,
物品计数:999,
itemBuilder:(uz,位置){
如果(位置==998)
{/*断点*/}
返回占位符(后备高度:100,);
}
)
],
),
),
);
}
执行始终在itemBuilder中的断点处停止
(但是如果我删除第一个SingleChildScrollView
和列
,一切正常,最后的项目仅在需要时渲染)这是意料之中的SingleChildScrollView
允许其子对象获得所需的空间并滚动它们<代码>列表视图
将此作为渲染所有内容的机会SingleChildScrollView
滚动这个巨大的ListView
ListView
需要某种大小约束来仅渲染它显示的项目。现在它认为它展示了所有这些 在这种情况下,请使用CustomScrollView
,或者在ListView.builder中构建所有小部件(包括前导的Text
)