android - 如何在 flutter 的 View 之间发送和接收参数

标签 android ios flutter routes

我正在尝试将数据从页面发送到flutter项目中的另一个页面,尝试了在另一个问题中找到的所有方法,但是所有方法都失败了,这是我的代码:

第一页:

Navigator.pushNamed(context, '/line_details', arguments: {'line':line,});

第二页:

class _LineDetailsState extends State<LineDetails> {

  Map data = {};

  @override
  Widget build(BuildContext context) {
    data  = ModalRoute.of(context).settings.arguments;
    return Scaffold(
      appBar: AppBar(
        backgroundColor: Colors.deepPurple,
        title: Text("$data"),
      ),
    );
  }
}

注意:line是创建的自定义对象。

错误:始终返回null,即使试图将单个字符串作为{"test": "test string"}发送,它也返回null

最佳答案

您的示例工作正常

MaterialApp中的路线

routes: { "/line_details": (context) => LineDetails(), },

按下FlatButton:
onPressed: () => Navigator.pushNamed(context, '/line_details', arguments: {'line':'test',}),

LineDetails类
class LineDetails extends StatefulWidget {

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

class _LineDetailsState extends State<LineDetails> {

  Map data = {};

  @override
  Widget build(BuildContext context) {
    data  = ModalRoute.of(context).settings.arguments;

    print(data);
    return Scaffold(
      appBar: AppBar(
        backgroundColor: Colors.deepPurple,
        title: Text("$data"),
      ),
    );
  }

}

与GestureDetector一起工作
new GestureDetector(
            onTap: () => Navigator.pushNamed(context, '/line_details', arguments: {'line':'test',}),
            child: new Container(child: new Text("GestureDetector"),),
          ),

关于android - 如何在 flutter 的 View 之间发送和接收参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61206847/

相关文章:

java - 检查包名是否改变

android - Android:如何合成钢琴声音?

android - 构建 Flutter 应用时的 "Build failed due to use of deprecated Android v1 embedding"

flutter - 如果用户在 flutter 中单击后退按钮,如何打开特定屏幕?

flutter - 如何使用 Flutter AnimationController 和 Transform 旋转图像?

android - 如何控制 RecyclerView 中单个列表项的滑动以关闭

android, sax解析器重复错误

ios - Xcode 10 - iOS 9.0 之前的 Safe Area Layout Guide [12] 错误

ios - 如何从图像路径中获取文件名

ios - 如何像 uipickerview 中的其他行一样对齐选定的行