Flutter 双问号 ?? 确保返回非空

定义数据的时候可能拿到的是空

比如

map 里面并没有这个数据

var s = map['key']??"没有就返回这个数据"

当map、中不存在key的时候就会返回后的这个字符串。。就很简单 不用很长的语法

Flutter中,实现“再按一次退出”功能的方法类似于Android。你需要在你的页面中重写`onWillPop`方法,在用户按下返回键时,显示一个提示对话框询问用户是否确认退出。 以下是实现此功能的Flutter代码示例: ```dart import 'package:flutter/material.dart'; import 'dart:async'; class MyHomePage extends StatefulWidget { @override _MyHomePageState createState() => _MyHomePageState(); } class _MyHomePageState extends State<MyHomePage> { bool isExit = false; Future<bool> _onWillPop() async { if (isExit) { return true; } else { isExit = true; Scaffold.of(context).showSnackBar( SnackBar( content: Text('再按一次退出'), duration: Duration(seconds: 2), ), ); await Future.delayed(Duration(seconds: 2)); isExit = false; return false; } } @override Widget build(BuildContext context) { return WillPopScope( onWillPop: _onWillPop, child: Scaffold( appBar: AppBar( title: Text('再按一次退出'), ), body: Center( child: Text('再按一次返回键退出'), ), ), ); } } ``` 在这个例子中,我们创建了一个`isExit`变量来记录用户是否已经按下了返回键,如果用户再次按下返回键,则退出应用程序。`_onWillPop`方法是用来显示SnackBar和延迟2秒钟。如果用户在2秒内再次按下返回键,则退出应用程序,否则,重置`isExit`变量为false。 最后,我们将`_onWillPop`方法作为`WillPopScope`的`onWillPop`属性,以便在用户按下返回键时调用它。这样,当用户按下返回键时,我们就能够显示提示对话框来询问用户是否确认退出。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

安果移不动

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值