0

私はアニメーション化されたリストを持っています。ビルド関数はアプリの本体からスタックに含まれています。データベースで何かが更新されるたびに、ストリームビルダーは再構築しません.項目は関数によって初期化に設定されます:

  Stream<List<Task>> getTasks(){
    try {
      Firestore.instance
          .collection("lists")
          .document(tasklist.postID)
          .collection("tasks")
          .snapshots();
    }
    on Exception {
      error();
    }
    return ref.snapshots().map((list) =>
        list.documents.map((doc) => Task.fromFireStore(doc)).toList());
}
  Widget _buildTasksList() {
    return new Expanded(
      child: new StreamBuilder(
      stream: items,
      builder: (BuildContext context, AsyncSnapshot snapshot) {
        if (!snapshot.hasData) {
          return new Text("Loading");
        }
        return new AnimatedList(
          initialItemCount: tasks.length,
          key: _listKey,
          itemBuilder: (context, index, animation) {
            print(index);
            return new TaskRow(
              task: listModel[index],
              animation: animation,
              listModel: listModel,
              tasklist: tasklist,
              onChange: () => _onChange(listModel[index]),
            );
          },
        );
      },
    )
    );
  }
4

1 に答える 1