Flutter Navigator从Navigator.pop获取错误的值

时间:2020-04-27 07:24:24

标签: flutter dart mobile-application

我在flutter中使用Navigator,并且我的屏幕上显示以下代码:

    tempResultHolder = await Navigator.of(context, rootNavigator: true).push(
      MenuOverlay(
          studentTest: widget.studentTest,
          context: context,
          currentQuestionIndex: currentQuestion - 1,
          currentSectionIndex: currentSection),
    );
    debugPrint('String got from menu: $tempResultHolder');


menuOverlay的弹出代码是:

          onTap() {
             debugPrint('Sending from menu: $outerIndex,${innerIndex + 1}');
             Navigator.pop(context, '$outerIndex,$innerIndex');
          }


控制台输出为:

从菜单发送:2,4
从菜单中得到的字符串:2,3
请告诉我,如果我能做些什么来获取正确的数据。如果externalIndex是奇数,则我在内部索引中又得到1:对于奇数索引:
从菜单发送:1,4
字符串来自菜单:1,4

1 个答案:

答案 0 :(得分:0)

我找到了解决方案。我正在导航到覆盖屏幕的主屏幕上的onTap()上使用异步。我将其删除,一切正常。