Flutter 路由界面传值

《Android学习笔记总结+最新移动架构视频+大厂安卓面试真题+项目实战源码讲义》

完整开源地址:https://docs.qq.com/doc/DSkNLaERkbnFoS0ZF

  //固定写法  统一处理

  onGenerateRoute: (RouteSettings settings) {

    final String name = settings.name;

    final Function pageContentBuilder = this.routes[name];

    if (pageContentBuilder != null) {

      if (settings.arguments != null) {

        final Route route = MaterialPageRoute(

            builder: (context) =>

                pageContentBuilder(context, arguments: settings.arguments));

        return route;

      } else {

        final Route route = MaterialPageRoute(

            builder: (context) => pageContentBuilder(context));

        return route;

      }

    }

  },

  theme: ThemeData(primaryColor: Colors.red),

  home: Scaffold(

    appBar: AppBar(

      title: Text("路由控件 界面跳转测试"),

      centerTitle: true,

    ),

    body: Routing(),

  ),

);

}

}

class Routing extends StatefulWidget {

@override

_RoutingState createState() => new _RoutingState();

}

class _RoutingState extends State {

@override

Widget build(BuildContext context) {

return Container(

  child: ListView(

    children: <Widget>[

      RaisedButton(

        child: Text("跳转到搜索界面,并传值"),

        onPressed: () {

          Navigator.pushNamed(context, "/search",

              arguments: {"id": "路由传值结果555"});

// Navigator.of(context).push(

// MaterialPageRoute(builder: (context) => SearchPage()),

// );

        },

      ),

      RaisedButton(

        child: Text("跳转到表单界面并传值"),

        onPressed: () {

          Navigator.pushNamed(context, "/form");

// Navigator.of(context).push(

// MaterialPageRoute(

// builder: (context) => FormPageState(

// title: “跳转到表单界面并传值”,

// )),

// );

        },

      ),

    ],

  ),

);

}

}




接受界面



import ‘package:flutter/material.dart’;

class SearchPage extends StatelessWidget {

final arguments;

SearchPage({this.arguments});

@override

Widget build(BuildContext context) {

return Scaffold(

  floatingActionButton: FloatingActionButton(

    child: Text('返回'),

    backgroundColor: Colors.red,

    onPressed: () {

      Navigator.of(context).pop();

    },

  ),

  appBar: AppBar(title: Text("搜索"), centerTitle: true),

  body: SearchContent(

    arguments: arguments,
  • 2
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值