我在另一个类中构建了一个StreamBuilder,并在build()中将其称为。现在,我想在另一个实际上需要此Stream的类中使用该类。有人可以帮我吗?
谢谢
class ItemList extends StatefulWidget {
final String documentId;
final String userId;
ItemList({
Key key,this.documentId,this.userId
}) : super(key: key);
@override
_ItemListState createState() => new _ItemListState();
}
在此类中,StreamBuilder被初始化。
class _ItemListState extends State<ItemList>{
@override
void initState(){
super.initState();
}
StreamBuilder buildItemStream(BuildContext context) {
final databaseReference = Firestore.instance;
return new StreamBuilder(
stream: databaseReference.collection("events").
document(widget.documentId).
collection("itemList").
snapshots(),builder: (context,snapshot) {
//if(snapshot.error) return const Center(child: Text("Your ItemList is empty"));
return Container(
child: ListView.builder(
scrollDirection: Axis.vertical,shrinkWrap: true,padding: EdgeInsets.all(10.0),//itemExtent: 300.0,itemCount: snapshot.data.documents.length,itemBuilder: (context,index) =>
buildItemList(context,snapshot.data.documents[index]),),);
},);
}
@override
Widget build(BuildContext context) {
return Scaffold(
body: buildItemStream(context),);
}
}