如果它是列表的最后一个索引,如何 return 一个小部件?

How to return a widget if it is the last index of a list?

如果它是方法中的最后一项,我想返回一个小部件 但我收到一个错误...尝试调用:call()

 itemList.last()
     ? CircleAvatar(
       backgroundColor: mainColor,
       radius: 15,
       child: Icon(Icons.done),
        )
      : Container()

假设您使用的是 ListView.builder()

class _MyAppState extends State<MyApp> {
  @override
  Widget build(BuildContext context) {
    List<String> item = [
      'jan',
      'feb',
      'mar',
      'apr',
      'may',
      'jun',
      'jul',
      'aug',
      'sep',
      'oct',
      'nov',
      'dec'
    ];
    return Scaffold(
      body: ListView.builder(
        itemCount: item.length,
        itemBuilder: (context, index) {
          if (index == item.length - 1) {
            return ListTile(
              leading: Text('Last index reached'),
            );
          }
          return ListTile(
            leading: Text(item[index]),
          );
        },
      ),
    );
  }
}

你的问题太含糊了。 我假设您在列表上循环,并希望在涉及到最后一个元素时显示特定的小部件。

所以你所要做的就是检查你所在的索引是否等于列表的长度-1

for (int i=0;i<myList.length;i++) {
    if (i == myList.length -1) {
         return CircleAvatar(
             backgroundColor: mainColor,
             radius: 15,
             child: Icon(Icons.done),
         );
    } else {
          return Container();
    }
}