当前位置: 首页 > 知识库问答 >
问题:

颤振列表视图。生成器,RangeError索引不在范围0中。。一,含:二。我怎么修理?

蔺翰音
2023-03-14

我有一个列表视图。在我所有的“项目单元格”中创建。我从我的类列表中获取索引,它给了我一个错误:

引发了另一个异常:RangeError(索引):无效值:不在范围0内。。一,含:二。

对于输入字符串:“1277”表示输入字符串:“1277”表示输入字符串:“1277”表示输入字符串:“1277”表示输入字符串:“1277”表示输入字符串:“1277”

...

class SchoolProject {
 final int index;
  final String name;
 final String about;
  final String subject;
 final String daysLeft;
 final List<User> projectMembers;
 final List<SchoolProjectTask> tasks;

  SchoolProject(this.index, this.name, this.about, this.subject,    

 this.daysLeft, this.projectMembers, this.tasks);
  }

  class User {
  final int index;
 final String username;
 final String description;
 final String school;

User(this.index, this.school, this.description, this.username);
  }

 var SchoolProjectOne = SchoolProject(
  0,
  "Historia Prov - Berlinmuren",
  "Läs in på Berlinmuren och kubrakrisen, hur usa mot soviet       
  skapade"
    "kalla kriget och hur kriget aldrig bröt ut för att folk var        

rädda!",
"History",
"2 Days",
[William],
[
  SchoolProjectTask(
      0,
      "Läs Om Berlinmuren",
      "",
      "2 Days",
      [William]
  ),

  SchoolProjectTask(
      1,
      "Ta reda på Kubakrisen",
      "",
      "2 Days",
      [William]
  ),

  SchoolProjectTask(
      2,
      "Kommunism vs Capitalism",
      "",
      "2 Days",
      [William]
    ),
  ]
 );

  Future<List<SchoolProject>> _getSchoolProject() async {
  var data = allSchoolProjects;
  print(data);
  return data;
  }


 Container(
 height: 50,
  margin: EdgeInsets.only(left: 10, right: 10, bottom: 12, top:5),

 child: FutureBuilder(
  future: _getSchoolProject(),
  builder: (BuildContext context, AsyncSnapshot snapshot) {
  if(snapshot.data == null) {
   return Container(
     alignment: Alignment.centerLeft,
        padding: EdgeInsets.all(8),
              child: CircularProgressIndicator(
              strokeWidth: 2,
                     ),
               );
           }
           else return ListView.builder(
              scrollDirection: Axis.horizontal,
               padding: EdgeInsets.all(5),
               itemCount: 
                  snapshot.data[index].projectMembers.length,
               itemBuilder: (BuildContext context, int index) {
                 return Container(
                 margin: EdgeInsets.only(right: 10),
                 child: CircleAvatar(
                  backgroundColor: Color(0xFFBA68C8),
                      child:   


   Text(snapshot.data[index].projectMembers[index].username[0],
    style: TextStyle(color: Colors.white),),
                  ),
                      );
                      }
                    );
                   }
             ),
                )

共有2个答案

隗轶
2023-03-14

发生这种情况是因为您使用了相同的变量index,但是有不同的作用域集,所以您在这里有4项:

ItemCount:snapshot.data[index]. projectembers.length,

但是当你以后使用它的时候

文本(snapshot.data[index].projectMembers[index].username[0],样式:TextStyle(颜色:Colors.white)),

因为用户名只有1[william]它永远不会存在索引2,所以我认为您可以在这里执行类似于此示例的操作

在内部,您可以创建一个文本小部件,并使用fat arrow函数或匿名函数(按索引)将其添加到其中,如文档中所示。

阮鸿煊
2023-03-14

删除我认为有效的[索引]。

ItemCount:snapshot.data[index]. projectembers.length,

ItemCount:snapshot.data[index]. projectembers.length,

 类似资料:
  • 大家好,我是flutter初学者,在练习刷卡解雇选项时,我已经完成了下面提到的代码,删除了一些产品后,我收到了下面的错误,我试图解决这个问题,但不能,请给我提供您的宝贵建议。 下面我附上了代码和错误供您参考。 ======== 由小部件库捕获的异常 ======================================================= 抛出了以下RangeError构建:R

  • 我在颤振中使用Swiper,错误发生在我在列表中添加4个元素时。 我引用了链接抖动错误:RangeError(索引):无效值:不在范围0内。。2,包含:3,但无法在Swiper中实现。

  • 我在颤振中使用了一个很长的列表。所有项目都呈现良好,但我也收到以下错误: 以下是我的代码: 下面是我的方法: 下面是我的方法: 以下是错误的屏幕截图:

  • 我一直在尝试在listview生成器的末尾添加一个按钮。我试着做这个问题中建议的事情:Flutter:如何在ListView的末尾添加一个按钮小部件。包含其他类型小部件的生成器?。但如果我这样做,我会得到:“RangeError(index):无效值:不在包含范围0..49:50中 我试图寻找问题,也有这个问题,但我找不到一个答案,解决它。

  • 在这个应用程序中,我试图获得基于听事件的查询。如果数据库中有任何变化,移动屏幕中的数据将发生变化。下面是从数据库获取数据的代码。 我使用Gridview构建器显示数据。 我在上面代码的第9行中遇到错误。 即使quizStart()中的条件有效,我也会得到范围错误。 有人能帮我解决这个问题吗?

  • 我正在阅读Al Sweigart的书《自动化无聊的东西》,我对我遇到的索引错误感到不知所措。我正在使用PyPDF2尝试打开一个加密的PDF文档。我知道这本书是2015年的,所以我去了文档,看看我是否遗漏了什么,一切似乎都一样,至少据我所知。所以我不确定这里出了什么问题。 给予: 在问我的问题之前,我在谷歌上搜索了一下,找到了这个带有“建议修复”的链接。然而,我对这一点很陌生,想看看解决方法是什么。