Я пытаюсь создать ListView, который автоматически прокручивается до самой новой точки данных.
Я устал делать это, делая функцию _scrollToBottom, которая использует метод .jumpTo.
Но я получаю пустой экран в приложении, и
'child.parentData != null': is not true.
в консоли отладки.
Любые предложения о том, как я могу реализовать автоматическую прокрутку?
Вот соответствующие части моего текущего кода:
ScrollController _scrollController = ScrollController();
_scrollToBottom(){ _scrollController.jumpTo(_scrollController.position.maxScrollExtent);
}
@override
Widget build(BuildContext context) {
return StreamBuilder(
stream: DataShareWidget.of(context).stream,
builder: (BuildContext context, AsyncSnapshot snapshot){
if(snapshot.hasError){ return Text(snapshot.error);}
if(snapshot.hasData){
_dataFormat(snapshot.data);
return ListView.builder(
itemCount: _listViewData.length,
controller: _scrollController,
reverse: true,
shrinkWrap: true,
itemBuilder: (context, index) {
_scrollToBottom();
return ListTile(
title: AutoSizeText(_listViewData[index], maxLines: 2),
dense: true,
);
},
);
}
}
);
}