在使用 firestore 查询流从 streambuilder 呈现数据后,在列表中使用 ScrollController 滚动到列表底部的最佳方法是什么?
使用 scrollcontroller.jumpto 方法的最佳位置是什么?
// initialisation
ScrollController scrollController=ScrollController();
// inside initstate() and build method with 1000ms delay - not working
scrollController.jumpTo(scrollController.position.maxScrollExtent);
// widget inside build method
Expanded(
child: StreamBuilder<DocumentSnapshot>(
stream: Firestore.instance
.collection('Data')
.document(widget.dataID)
.snapshots(),
builder: (context, AsyncSnapshot<DocumentSnapshot> snapshot) {
print("Called");
if (!snapshot.hasData) {
return Text("Loading");
}
var info= snapshot.data.data;
if (info!= null &&
info["messages"] != null &&
info["messages"].length > 0 &&
userList.length > 0) {
return ListView.builder(
controller: scrollController,
itemCount: info["challengeReplies"].length,
itemBuilder: (BuildContext context, int index) {
return ChallengeReplyListItem(
currentUserID: widget.currentUserID,
messagesType: info["messages"][index]["messagesType"],
messagesContent: info["messages"][index]["messagesContent"],
},
);
} else if (isLoading) {
return Center(
child: CircularProgressIndicator(),
);
} else {
return Center(child: Text("No Data Found",style: TextStyle(color: Colors.blueGrey,fontSize: 22,fontWeight: FontWeight.w500),));
}
}),
),
任何人都可以提出适当的解决方案来在数据正确呈现后处理滚动到页面底部。
谢谢。