Flutter 如何返回并刷新Flatter中的上一页?

Flutter 如何返回并刷新Flatter中的上一页?,flutter,dart,navigation,back,onbackpressed,Flutter,Dart,Navigation,Back,Onbackpressed,我有一个主页,当点击它时,通过导航将我带到另一个页面,在中执行一些操作,然后按下返回按钮将我带回到主页。但问题是主页无法刷新 当我按下“上一步”按钮并刷新主页时,是否有办法重新加载页面?当您导航回第一页时,可以触发API调用,如下面的伪代码所示 class PageOne extends StatefulWidget { @override _PageOneState createState() => new _PageOneState(); } class _PageOneSt

我有一个主页,当点击它时,通过导航将我带到另一个页面,在中执行一些操作,然后按下返回按钮将我带回到主页。但问题是主页无法刷新


当我按下“上一步”按钮并刷新主页时,是否有办法重新加载页面?

当您导航回第一页时,可以触发API调用,如下面的伪代码所示

class PageOne extends StatefulWidget {
  @override
  _PageOneState createState() => new _PageOneState();
}

class _PageOneState extends State<PageOne> {
  _getRequests()async{

  }
  @override
  Widget build(BuildContext context) {
    return new Scaffold(
      body: new Center(
        child: new RaisedButton(onPressed: ()=>
        Navigator.of(context).push(new MaterialPageRoute(builder: (_)=>new PageTwo()),)
        .then((val)=>val?_getRequests():null),
      ),
    ));
  }
}

class PageTwo extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    //somewhere
    Navigator.pop(context,true);
  }
}

无论何时,只要您更改数据库中的某些内容(例如,从编辑配置文件页面),它都会反映在您的配置文件页面上。在这种情况下,这是唯一可能的,因为我使用的是
onValue
,它将持续监听任何更改并代表您进行更新。

为了获得更细粒度、页面无关的解决方案,我提出了这个AndroidSingle LiveEvent模拟行为

我在
Provider
类中创建这样的字段,如:

SingleLiveEvent<int> currentYearConsumable = SingleLiveEvent<int>();
(在第一页):使用此代码导航到第二页

Navigator.pushNamed(上下文“/page2”)。然后((){
//当您从第2页返回到第1页时,此块将运行。
设置状态(){
//调用setState刷新页面。
});
});
(在第2页):使用此代码返回到第1页

Navigator.pop(上下文);

什么是“刷新页面1”意思?@RaoufRahiche,比如更新页面1中的列表视图。我们如何做的可能重复只需替换
。然后((val)=>val?\u getRequests():null)
。然后((val)=>{u getRequests()}
。否则a
bool!=将发生空异常
SingleLiveEvent<int> currentYearConsumable = SingleLiveEvent<int>();