我正在尝试制作一个自动滚动到最新数据点的 ListView。我厌倦了通过使用 .jumpTo 方法制作一个 _scrollToBottom 函数来做到这一点。
但是我在应用程序和'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,
);
},
);
}
}
);
}
Run Code Online (Sandbox Code Playgroud) 我有一个带有 2 个选项卡的 Flutter 应用程序:一个管理和接收连续的数据流,另一个选项卡显示传入的数据。
如何将数据从第一个选项卡传递到第二个选项卡?我看到的大部分帖子都是关于在父母和孩子之间传递数据,而不是孩子到孩子。
我会用GlobalKey吗?有更好的选择吗?
这是主要的构建功能:
@override
Widget build(BuildContext context) {
return Scaffold(
appBar: AppBar(
title: const Text('some text'),
bottom: TabBar(
tabs: tabs,
controller: _tabController,
),
),
body: TabBarView(
controller: _tabController,
children: [
InputManagment(),
InfiniteListView(),
],
),
);
}
Run Code Online (Sandbox Code Playgroud)