Flutter Listview生成器创建列表项的副本

Flutter Listview生成器创建列表项的副本,flutter,flutter-layout,flutter-listview,Flutter,Flutter Layout,Flutter Listview,我有一个使用listview构建器构建的小部件列表。问题是,当我更改列表中某个项目的状态(使用列表项目的ontap属性)时,状态会发生很好的更改,但会在列表的最顶端添加一个经过修改的列表项目的精确副本 片段 List data = [1,2,2,1,1]; return Scrollbar( child: ListView.builder( itemCount: data.length, itemBuilder: (context, int ind

我有一个使用listview构建器构建的小部件列表。问题是,当我更改列表中某个项目的状态(使用列表项目的ontap属性)时,状态会发生很好的更改,但会在列表的最顶端添加一个经过修改的列表项目的精确副本

片段

List data = [1,2,2,1,1];

return Scrollbar(
      child: ListView.builder(

        itemCount: data.length,
        itemBuilder: (context, int index) {
          final s = data[index];

          return ListTile(

            dense: false,
            leading: leading(leading),
            title: Text(s),
            subtitle: Text(
              "${s}",
              style: Theme.of(context).textTheme.caption,
            ),
            onTap: () {
              setState(() {//do something to the subtitle});
            },
          );
        },
      ),
    );

尝试为每个
listile
指定一个唯一的

例如:

     return ListTile(
        key: Key("${index}"),
        dense: false,
        leading: leading(leading),
        title: Text(s),
        subtitle: Text(
          "${s}",
          style: Theme.of(context).textTheme.caption,
        ),
        onTap: () {
          setState(() {//do something to the subtitle});
        },
      );

你能告诉我你的数据变量在哪里吗?