Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/dart/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Dart 返回到上一个活动时如何返回数据?_Dart_Flutter - Fatal编程技术网

Dart 返回到上一个活动时如何返回数据?

Dart 返回到上一个活动时如何返回数据?,dart,flutter,Dart,Flutter,我有这样的代码的屏幕活动 onTap: () { Navigator.of(context).pop('lorem ipsum'); } 因此,当我按下按钮(onTap),屏幕将返回到上一个活动并显示“lorem ipsum”的文本,我如何才能做到这一点 首先,在颤振中,未使用活动术语。一切都是一个小部件 当您按下此屏幕时,必须按下MaterialRouteWidget,其参数应与pop的结果(在您的案例中为字符串)相同,如下所示- new RaisedButton(onPressed

我有这样的代码的屏幕活动

onTap: () { 
   Navigator.of(context).pop('lorem ipsum');
}

因此,当我按下按钮
(onTap)
,屏幕将返回到上一个活动并显示“lorem ipsum”的文本,我如何才能做到这一点

首先,在颤振中,未使用
活动
术语。一切都是一个
小部件

当您按下此屏幕时,必须按下
MaterialRouteWidget
,其参数应与pop的结果(在您的案例中为字符串)相同,如下所示-

new RaisedButton(onPressed: ()async{
  String value = await Navigator.push(context, new MaterialPageRoute<String>(
      builder: (BuildContext context) {
        return new Center(
          child: new GestureDetector(
              child: new Text('OK'),
              onTap: () { Navigator.pop(context, "lorem ipsum"); }
          ),
        );
      }
  )
  );
  print(value);

},
  child: new Text("Return"),)
newraisedbutton(onPressed:()异步{
String value=await Navigator.push(上下文,new MaterialPageRoute(
生成器:(BuildContext上下文){
返回新中心(
儿童:新的手势检测器(
子项:新文本('OK'),
onTap:(){Navigator.pop(上下文,“lorem ipsum”);}
),
);
}
)
);
印刷品(价值);
},
子项:新文本(“返回”),)

要正确理解这一点,请首先在颤振中说明,
活动中未使用术语。一切都是一个
小部件

当您按下此屏幕时,必须按下
MaterialRouteWidget
,其参数应与pop的结果(在您的案例中为字符串)相同,如下所示-

new RaisedButton(onPressed: ()async{
  String value = await Navigator.push(context, new MaterialPageRoute<String>(
      builder: (BuildContext context) {
        return new Center(
          child: new GestureDetector(
              child: new Text('OK'),
              onTap: () { Navigator.pop(context, "lorem ipsum"); }
          ),
        );
      }
  )
  );
  print(value);

},
  child: new Text("Return"),)
newraisedbutton(onPressed:()异步{
String value=await Navigator.push(上下文,new MaterialPageRoute(
生成器:(BuildContext上下文){
返回新中心(
儿童:新的手势检测器(
子项:新文本('OK'),
onTap:(){Navigator.pop(上下文,“lorem ipsum”);}
),
);
}
)
);
印刷品(价值);
},
子项:新文本(“返回”),)
要正确理解这一点,请通读。

您可以使用并添加文本作为参数

Navigator.popAndPushNamed(context, '/yourRoute', arguments: 'your text' );
您可以使用和添加文本作为参数

Navigator.popAndPushNamed(context, '/yourRoute', arguments: 'your text' );

在您的第一个屏幕中使用此选项(当您想进入屏幕2时)

在第二个屏幕中,当您返回到第一个屏幕时,使用此选项

Navigator.pop(context, 'lorem ipsum');

在您的第一个屏幕中使用此选项(当您想进入屏幕2时)

在第二个屏幕中,当您返回到第一个屏幕时,使用此选项

Navigator.pop(context, 'lorem ipsum');
像这样试试

1)在第一页(转到第二页/活动)

这是一个很好的示例,说明了如何将值传递给上一个活动。

请这样尝试

1)在第一页(转到第二页/活动)


这是一个很好的示例,说明了如何将值传递给上一个活动。

有一个包,您可以传递一些参数,如url参数


定义(“/users/:id”,处理程序:usersHandler)

有一个包,您可以传递一些参数,如url参数


定义(“/users/:id”,处理程序:usersHandler)

基本上,如果您需要从B页到a页的结果。。。你需要在A页上看到它

例如

如果有一个按钮转到B页,则需要下一个代码:

String informationFromPageB = await Navigator.push(
  context,
  MaterialPageRoute(
    builder: (_) => PageB(),
);
然后在B页中,只需发送参数

Navigator.pop(context, "theInformationHere");
这里有一个例子:


我还做了另一个小例子:

基本上如果你需要从B页到a页的结果。。。你需要在A页上看到它

例如

如果有一个按钮转到B页,则需要下一个代码:

String informationFromPageB = await Navigator.push(
  context,
  MaterialPageRoute(
    builder: (_) => PageB(),
);
然后在B页中,只需发送参数

Navigator.pop(context, "theInformationHere");
这里有一个例子:


我还做了另一个小例子:

我必须把Navigator.push(..)放在课堂上_Page1扩展状态或?..
Navigator.push()应该在屏幕1中使用,当你进入屏幕2时,也许你正在使用一个按钮。如果没有,告诉我你如何导航到屏幕2?我使用它,返回新的手势检测器(onTap:()async{Navigator.pop(context,'lorem ipsum');})所以,上一个屏幕上的文本将发生变化没有,我问你如何进入第二个屏幕,在那里使用你提到的代码?我必须在哪里放置Navigator.push(....?在类_Page1扩展状态或?..
Navigator.push()当您转到屏幕2时,应在屏幕1中使用
,可能您正在为此使用一个按钮。如果没有,请告诉我如何导航到屏幕2?我使用此选项,返回新的GestureDetector(onTap:()async{Navigator.pop(上下文,'lorem ipsum');})所以,上一个屏幕上的文本将发生变化没有,我问你如何进入第二个屏幕,在那里使用你提到的代码?