Flutter 当从颤振中的页面返回时,如何刷新以前的屏幕/页面列表?

Flutter 当从颤振中的页面返回时,如何刷新以前的屏幕/页面列表?,flutter,dart,Flutter,Dart,我有两个页面,一个是列表视图,另一个是表单类页面。将sqflite与streambuilder一起用于crud操作,一旦我输入输入并从第二个屏幕保存,第一个屏幕的列表视图应该更新 第一屏: onPressed: () { final newDebtor = Debtor(name: _debtorNameFormController.value.text); if (n

我有两个页面,一个是列表视图,另一个是表单类页面。将sqflite与streambuilder一起用于crud操作,一旦我输入输入并从第二个屏幕保存,第一个屏幕的列表视图应该更新

第一屏:

onPressed: () {
                    final newDebtor =
                        Debtor(name: _debtorNameFormController.value.text);
                    if (newDebtor.name.isNotEmpty) {

                      debtorBloc.addDebtor(newDebtor);

                      //dismisses the bottomsheet
                      Navigator.pop(context, false);
                    }
                  },
列表视图将从sqflite datatbase返回,如下所示

    Widget getDebtorsWidget() {
    return StreamBuilder(
      stream: debtorBloc.debtors,
      builder: (BuildContext context, AsyncSnapshot<List<Debtor>> snapshot) {
        return getDebtorCardWidget(snapshot);
      },
    );
  }

-----------------------------------------------------------------------------
        floatingActionButton: FloatingActionButton(
                tooltip: 'Add an entry',
                child: Icon(Icons.add),
                onPressed: () {
                    Navigator.push(
                      context,
                      MaterialPageRoute(
                        builder: (BuildContext context) => DebtorFormFullScreenDialog(),
                        fullscreenDialog: true,
                      ));
                      //_showAddDebtorSheet(context);
                },
              ),

     void _showAddDebtorSheet(BuildContext context) {
    ......
    }
_当在此列表视图中输入数据时,showAddDebtorSheet()在同一屏幕上立即更新。但当在第二个屏幕上执行此操作时,即使我导航回第一个屏幕,listview也不会更新


注意:如果您需要更多信息,请通知我。

您可以等待(也可以从第二页
Navigator.of(context).pop(value)
)然后
设置状态((){})在第一页上下文中刷新

在您的示例中,它看起来像:

            onPressed: () async {
                await Navigator.push(
                  context,
                  MaterialPageRoute(
                    builder: (BuildContext context) => DebtorFormFullScreenDialog(),
                    fullscreenDialog: true,
                  )
                );
                setState(() {});
            },

很抱歉,你和我是同一时间