itemCount剩余空间

时间:2019-09-01 18:57:47

标签: flutter dart

我有一个像这样的程序,它没有给出任何错误,但是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

2 个答案:

答案 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

我还没有尝试过。虽然看起来可行。让我知道是否出现问题。