Android与Flutter混合开发,Android二次进入同一Flutter页面,Flutter没有刷新

问题

Android与Flutter混合开发,Android第二次进入相同的Flutter页面时,该Flutter页面和第一次进入一样并无刷新,还是老数据。

方案

针对上诉问题,建议进入的Flutter页面使用StatefulWidget组件,并重写didUpdateWidget()。

class FlutterPage extends StatefulWidget {
  const FlutterPage({Key? key}) : super(key: key);

  @override
  _FlutterPageState createState() => _FlutterPageState();
}

class _FlutterPageState extends State<FlutterPage> {
  
  
  @override
  void didUpdateWidget(covariant FlutterPage oldWidget) {
    super.didUpdateWidget(oldWidget);
    // TODO: 执行刷新操作,比如setState(),请求数据,初始化布局
  }
  
  @override
  Widget build(BuildContext context) {
    return Container();
  }
}
复制代码

简单实现如上诉代码所写,在didUpdateWidget中执行刷新操作,可 setState(() {}),请求api,初始化view等。
开发中有时页面刷新无效,也可以重写一下didUpdateWidget(),不仅限于混合开发,纯Flutter开发中也可以试试,亲测有效。

© 版权声明
THE END
喜欢就支持一下吧
点赞0 分享