diff --git a/lib/pages/dynamics/view.dart b/lib/pages/dynamics/view.dart index 2e01537bf..df2935deb 100644 --- a/lib/pages/dynamics/view.dart +++ b/lib/pages/dynamics/view.dart @@ -29,7 +29,8 @@ class DynamicsPage extends StatefulWidget { class _DynamicsPageState extends State with AutomaticKeepAliveClientMixin { final DynamicsController _dynamicsController = Get.put(DynamicsController()); - Future? _futureBuilderFuture; + late Future _futureBuilderFuture; + late Future _futureBuilderFutureUp; bool _isLoadingMore = false; Box user = GStrorage.user; @@ -40,6 +41,7 @@ class _DynamicsPageState extends State void initState() { super.initState(); _futureBuilderFuture = _dynamicsController.queryFollowDynamic(); + _futureBuilderFutureUp = _dynamicsController.queryFollowUp(); ScrollController scrollController = _dynamicsController.scrollController; StreamController mainStream = Get.find().bottomBarStream; @@ -229,7 +231,7 @@ class _DynamicsPageState extends State controller: _dynamicsController.scrollController, slivers: [ FutureBuilder( - future: _dynamicsController.queryFollowUp(), + future: _futureBuilderFutureUp, builder: (context, snapshot) { if (snapshot.connectionState == ConnectionState.done) { Map data = snapshot.data; diff --git a/lib/pages/fav/view.dart b/lib/pages/fav/view.dart index f190bc856..8c2428624 100644 --- a/lib/pages/fav/view.dart +++ b/lib/pages/fav/view.dart @@ -13,6 +13,13 @@ class FavPage extends StatefulWidget { class _FavPageState extends State { final FavController _favController = Get.put(FavController()); + late Future _futureBuilderFuture; + + @override + void initState() { + super.initState(); + _futureBuilderFuture = _favController.queryFavFolder(); + } @override Widget build(BuildContext context) { @@ -26,7 +33,7 @@ class _FavPageState extends State { ), ), body: FutureBuilder( - future: _favController.queryFavFolder(), + future: _futureBuilderFuture, builder: (context, snapshot) { if (snapshot.connectionState == ConnectionState.done) { Map data = snapshot.data as Map; diff --git a/lib/pages/live/view.dart b/lib/pages/live/view.dart index 3e26bafcc..93fe276f1 100644 --- a/lib/pages/live/view.dart +++ b/lib/pages/live/view.dart @@ -22,10 +22,12 @@ class LivePage extends StatefulWidget { class _LivePageState extends State { final LiveController _liveController = Get.put(LiveController()); + late Future _futureBuilderFuture; @override void initState() { super.initState(); + _futureBuilderFuture = _liveController.queryLiveList('init'); ScrollController scrollController = _liveController.scrollController; StreamController mainStream = Get.find().bottomBarStream; @@ -64,7 +66,7 @@ class _LivePageState extends State { padding: const EdgeInsets.fromLTRB( StyleString.safeSpace, 0, StyleString.safeSpace, 0), sliver: FutureBuilder( - future: _liveController.queryLiveList('init'), + future: _futureBuilderFuture, builder: (context, snapshot) { if (snapshot.connectionState == ConnectionState.done) { Map data = snapshot.data as Map; diff --git a/lib/pages/media/view.dart b/lib/pages/media/view.dart index e1794d97a..54b96ea7a 100644 --- a/lib/pages/media/view.dart +++ b/lib/pages/media/view.dart @@ -14,13 +14,22 @@ class MediaPage extends StatefulWidget { class _MediaPageState extends State with AutomaticKeepAliveClientMixin { + late MediaController mediaController; + late Future _futureBuilderFuture; + @override bool get wantKeepAlive => true; + @override + void initState() { + super.initState(); + mediaController = Get.put(MediaController()); + _futureBuilderFuture = mediaController.queryFavFolder(); + } + @override Widget build(BuildContext context) { super.build(context); - final MediaController mediaController = Get.put(MediaController()); Color primary = Theme.of(context).colorScheme.primary; return Scaffold( appBar: AppBar(toolbarHeight: 30), @@ -107,7 +116,7 @@ class _MediaPageState extends State ), ), trailing: IconButton( - onPressed: () => mediaController.queryFavFolder(), + onPressed: () => _futureBuilderFuture, icon: const Icon( Icons.refresh, size: 20, @@ -119,7 +128,7 @@ class _MediaPageState extends State width: double.infinity, height: 170, child: FutureBuilder( - future: mediaController.queryFavFolder(), + future: _futureBuilderFuture, builder: (context, snapshot) { if (snapshot.connectionState == ConnectionState.done) { Map data = snapshot.data as Map; diff --git a/lib/pages/rcmd/view.dart b/lib/pages/rcmd/view.dart index 1b22a2db5..41987f8ce 100644 --- a/lib/pages/rcmd/view.dart +++ b/lib/pages/rcmd/view.dart @@ -23,6 +23,7 @@ class RcmdPage extends StatefulWidget { class _RcmdPageState extends State with AutomaticKeepAliveClientMixin { final RcmdController _rcmdController = Get.put(RcmdController()); + late Future _futureBuilderFuture; @override bool get wantKeepAlive => true; @@ -30,6 +31,7 @@ class _RcmdPageState extends State @override void initState() { super.initState(); + _futureBuilderFuture = _rcmdController.queryRcmdFeed('init'); ScrollController scrollController = _rcmdController.scrollController; StreamController mainStream = Get.find().bottomBarStream; @@ -71,7 +73,7 @@ class _RcmdPageState extends State : const EdgeInsets.fromLTRB( StyleString.safeSpace, 0, StyleString.safeSpace, 0), sliver: FutureBuilder( - future: _rcmdController.queryRcmdFeed('init'), + future: _futureBuilderFuture, builder: (context, snapshot) { if (snapshot.connectionState == ConnectionState.done) { Map data = snapshot.data as Map;