我有一个像这样的程序,它没有给出任何错误,但是item.lengt占用了整个课程类,该程序留有空格而不是消除的空格(如代码所示)。
我无法删除上面的列表,因为我已经在此处完成了索引,而且无法获取它。
return BlocBuilder(
bloc: _lessonsBloc,
builder: (BuildContext context, LessonsState state) {
if (state is LessonsLoading) {
return Center(
child: CircularProgressIndicator(),
);
} else if (state is LessonsLoaded) {
return ListView.builder(
//here need to change
itemCount: state.lessons.length,
itemBuilder: (context, index) {
//Here I eliminate items from my list its because my index here :/
final displayedLessons = state.lessons[index];
if(tab.text == displayedLessons.day){
return ListTile(
title: Text(displayedLessons.name),
subtitle:
Text(displayedLessons.subname),
trailing: _buildUpdateDeleteButtons(displayedLessons),
);
} else{print('nope');}
return ListTile();
},
);
}
return CircularProgressIndicator();
},
);
}
如果能解决这个问题我会很高兴,但是我认为我应该使用另一个小部件。我只需要一个主意。
https://pasteboard.co/Ivr3FjK.jpg
https://pasteboard.co/Ivr4gRU.jpg
https://pasteboard.co/Ivr4piY.jpg
答案 0 :(得分:1)
一般情况下的解决方案:
只要您要针对给定条件(例如ListView.builder
)从构建器函数中跳过小部件,只要有条件不满足,只要有条件地返回不带任何尺寸的空Container()
即可。
示例代码(用于ListView.builder):
ListView.builder
(
itemCount: 10,
itemBuilder: (BuildContext context, int i) {
i=i+1;
if(i%2==0) return Text(i.toString());
else return Container();
}
)
答案 1 :(得分:0)
希望获得帮助:
folder1/object1.txt
我还没有尝试过。虽然看起来可行。让我知道是否出现问题。