我的新卡的标题名称将所有其他卡的名称更改为新的标题名称

Title name of my new card changes all the other cards' name to the new title name

我有一个显示卡片的列表视图,但每当我添加一张新卡片时,所有卡片的标题都会更新为新标题,但我只需要更改当前添加的卡片

final taskName = TextEditingController();

 TextField(
                  controller: taskName,
                  decoration: const InputDecoration(hintText: 'Task Name'),
                ),
              ),
              Row(
                mainAxisAlignment: MainAxisAlignment.end,
                children: [
                  ElevatedButton(
                    onPressed: () {
                      counter++;
                      Navigator.pop(context);
                    },
                    child: const Text(
                      'Add',
                      style: TextStyle(fontSize: 15),
                    ),
                  ),

Expanded(
            child: ListView.builder(
                itemCount: counter,
                itemBuilder: (BuildContext context, index) {
                  return TodoContainer(
                    cardTitle: taskName.text.toString(),
                  );
                }),
          )

显示我的卡片在添加名称为 TODO 的新卡片后的样子的屏幕截图

您正在使用单个 TextEditingController 值来填充 ListView,因此列表视图 children 正在获取更新值而不是创建新项目。

final taskName = TextEditingController();

您可以做什么,创建一个字符串列表并将其提供给 children。

  List<String> items = []; // on state class

 .... 
 // add data 
  onPressed: () {
    items.add(taskName.text.toString()); 
     ....
      },

......

/// populate listView
 return TodoContainer(
         cardTitle: items[index],
             );