flutter -------- 页面跳转和传值
在安卓原生开发中,页面跳转可以用Intent类来具体实现:
Intent intent =new Intent(MainActivity.this,second.class); startActivity(intent);
页面的传值也有很多种
Flutter的传值方式是路由传值;
例如,我们想传一些关于我们点击的ListView条目的信息。
效果图

代码:
final todos = new List<Todo>.generate(
15,
(i) => new Todo(
"我是标题 $i", "我是详细内容 $i")); class Todo {
final String title;
final String description; Todo(this.title, this.description);
} class ToD extends StatelessWidget{
@override
Widget build(BuildContext context) {
// TODO: implement build
return new FirstScreen(todos);
}
} /**
* 第一个页面
*/
class FirstScreen extends StatelessWidget {
final List<Todo> todos; FirstScreen(this.todos); @override
Widget build(BuildContext context) {
return new Scaffold(
appBar: new AppBar(
title: new Text("First Screen"),
),
body: new Center(
child: new ListView.builder(
itemCount: todos.length,
itemBuilder: (context, index) {
return new ListTile(
title: new Text(todos[index].title),
//item的点击事件 跳转到新的页面并携带一个Todo对象 传参就是通过构造函数了
onTap: () {
Navigator.push(
context,
new MaterialPageRoute(
builder: (context) =>
new DetailScreen(todo: todos[index])));
},
);
}),
),
);
}
} /**
* 第二个页面
*/
class DetailScreen extends StatelessWidget {
final Todo todo; //构造函数得到传值
DetailScreen({Key key, @required this.todo}) : super(key: key); @override
Widget build(BuildContext context) {
return new Scaffold(
appBar: new AppBar(
title: new Text("${todo.title}"),
),
body: new Center(
child: new GestureDetector(
child: new Text("${todo.description}"),
onTap: () {
Navigator.pop(context);
},
),
),
);
}
}
flutter -------- 页面跳转和传值的更多相关文章
- iOS——使用StroryBoard页面跳转及传值
之前在网上搜iOS的页面跳转大多都是按回以前的那种xib的形式,但鄙人是使用storyboard的.这篇就只介绍利用storyboard进行页面跳转与传值. 新建页面 iOS的程序也是使用了MVC的思 ...
- iOS使用StroryBoard页面跳转及传值
之前在网上iOS的页面跳转大多都是按回以前的那种xib的形式,但鄙人是使用storyboard的.这篇就只介绍利用storyboard进行页面跳转与传值. 新建页面 iOS的程序也是使用了MVC的思想 ...
- Android中实现activity的页面跳转并传值
一个Android应用程序很少会只有一个Activity对象,如何在多个Activity之间进行跳转,而且能够互相传值是一个很基本的要求. 本次我们就讲一下,Android中页面跳转以及传值的几种方式 ...
- H5页面跳转与传值
页面之间的跳转经常使用a标签,使用mvc框架的都是通过访问controller的请求方法,返回请求页面.但本次开发,前端与后台完全分离,前端APP使用HBuider来开发,后台数据就无法使用mvc框架 ...
- Intent实现页面跳转和传值
*Intent称为意图,是Android各大组件连接的桥梁 1.Activity页面跳转 同一个包内 Intent intent = new Intent(); intent.setClass(Mai ...
- MVC 【Razor 视图引擎】基础操作 --页面跳转,传值,表单提交
ASPX 与 Razor 仅仅是视图不一样. 新建项目----ASP.NET MVC 4 Web 应用程序------选择模板(空).视图引擎(Razor ) 1.视图中 c# 代码 与 HT ...
- Flutter页面跳转返回数据
Dart中的异步请求和等待和ES6中的方法很像,直接使用async...await就可以实现. 核心代码: _navigateToAddress(BuildContext context) async ...
- swift 下storyboard的页面跳转和传值
------------------1. 最简单的方法 拖拽, 这个就不用多解释了吧. 直接拖拽到另一个视图控制器, 选择 show, 就行了. 2. 利用 Segue 方法 (这里主要是 方法1 的 ...
- Android tab_Host页面跳转,传值,刷新等问题汇总
之前做了一个项目是关于Tab_Host的,现在完成了恰逢闲余写份总结,主要涉及里面遇到问题以及解决方案的. (首先说明这份代码是在eoe 下载的,这里感谢分享的那位朋友,限于我的工程是公司的不能拿出来 ...
随机推荐
- 运维开发笔记整理-URL配置
运维开发笔记整理-URL配置 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.URL路由 对于高质量的Web应用来说,使用简洁,优雅的URL的路由是一个非常值得重视的细节.Dja ...
- java计算两个经纬度之间的距离
/** * 计算点 是否在一个固定点的半径范围内 * @2016年10月20日 * @param a 经度1 已知 * @param b 纬度1 已知 * @param x 经度2 * @param ...
- linux 非root用户安装nginx
第一步:首先下载依赖包 下载地址 pcre(www.pcre.org),zlib(www.zlib.org),openssl(www.openssl.org) 第二步:上传那个nginx的安装包 下载 ...
- node ffmpeg 视频操作
1,先安装ffmpeg 2,设置环境变量 3,npm install fluent-ffmpeg 4,编码 var ffmpeg = require('fluent-ffmpeg'); //视频合并 ...
- python安装脚本
[root@dn3 hadoop]# cat install.py #!/usr/bin/python #coding=utf- import os import sys : pass else: p ...
- python统计代码总行数(代码行、空行、注释行)
我们在工作或学习代码的过程中,经常会想知道自己写了多少行代码,今天在项目环境写了个脚本统计了项目代码的数量. 功能: 1.统计代码总行数 2.统计空行数 3.统计注释行数 # coding=utf-8 ...
- 转 C#关于DateTime得到的当前时间的格式和用法
DateTime.Now.ToShortTimeString() DateTime dt = DateTime.Now; dt.ToString();//2005-11-5 13:21:25 dt.T ...
- 《The One!团队》:BETA Scrum metting1
项目 内容 作业所属课程 所属课程 作业要求 作业要求 团队名称 < The One !> 作业学习目标 (1)掌握软件黑盒测试技术:(2)学会编制软件项目总结PPT.项目验收报告:(3) ...
- test20190827 NOIP2019 模拟赛
100+100+50=250.最后那道期望题需要用另外的方式统计. 精灵加护 ljss 被 M 个敌人打倒在地上啦!每个敌人有一个威力值 bi.但是他手中还拥有 N 把武器!每把武器有一个威力值 ai ...
- [Wc2011] Xor 和 [HNOI2011]XOR和路径
Xor F.A.Qs Home Discuss ProblemSet Status Ranklist Contest 入门OJ ModifyUser autoint Logout 捐赠本站 Prob ...