我有一个ListView.builder,它从列表中读取所有项目并将其显示给用户。该构建器是RefreshIndicator的子级,该指示器在更新时会添加一个项目。但是,当我重建整个窗口小部件时,该项目仅显示在listView中。为什么会这样,如何更改它以便在更新后立即看到该项目?即使反复刷新,也不会出现新项目... 寻求帮助
class User {
static String id = 'id-001';
static List<Item> list = [];
}
class DatabaseService {
final CollectionReference users = Firestore.instance.collection('users');
Future fetchAndAddToUserList()async{
var doc = await users.document(User.id).get();
User.list.add(doc.data['list']);
}
}
Future<Null> _refresh() async {
await DatabaseService().fetchAndAddToUserList();
setState(() {
sortList();
});
return;
}
RefreshIndicator(
onRefresh: _refresh,
key: _refreshIndicatorKey,
child: Container(
child: ListView.builder(
itemBuilder: (ctx, index) {
return ListTile(
item: User.list[index],
);
},
itemCount: User.list.length,
),
),
),