1. ホーム
  2. list

dartでリストの先頭に要素を挿入する

2023-10-07 03:27:17

質問

Flutterで簡単なToDoアプリを作成しています。私はリスト上のすべてのTodoタスクを管理しています。新しいTodoタスクはリストの最初に追加したいです。この回避策みたいなものを使って、それを実現することができます。これを行うには何か良い方法はありますか?

void _addTodoInList(BuildContext context){
    String val = _textFieldController.text;

    final newTodo = {
      "title": val,
      "id": Uuid().v4(),
      "done": false
    };

    final copiedTodos = List.from(_todos);

    _todos.removeRange(0, _todos.length);
    setState(() {
      _todos.addAll([newTodo, ...copiedTodos]);
    });

    Navigator.pop(context);
  }

どのように解決するのですか?

使用方法 insert() のメソッドを使います。 List を使用してアイテムを追加する場合、ここではインデックスが 0 で先頭に追加します。例

List<String> list = ["B", "C", "D"];
list.insert(0, "A"); // at index 0 we are adding A
// list now becomes ["A", "B", "C", "D"]