不知道实现 Flutter 2.0 路由后如何清除堆栈并路由到新页面。
以下内容不起作用:
Navigator.of(context).pushAndRemoveUntil(MaterialPageRoute(builder: (context) => SignInPage()), (route) => false);
Run Code Online (Sandbox Code Playgroud)
[VERBOSE-2:ui_dart_state.cc(186)] Unhandled Exception: 'package:flutter/src/widgets/navigator.dart': Failed assertion: line 3075 pos 7: '!hasPage || isWaitingForExitingDecision': A page-based route cannot be completed using imperative api, provide a new list without the corresponding Page to Navigator.pages instead.
我希望计算密集度较低的断言始终保持开启并禁用更高计算密集度的断言.当我们的代码转移到生产的实际使用方法可能是(根据实用主义程序员,这是处理断言建议的方式).
控制断言的最佳方法是什么?(注意,我已经使用"-ea"在VM变量中启用了断言).
一个简单的例子:
/**
*
* @precondition sizeOfList >= 2
*/
private ArrayList<Integer> createSortedList(int sizeOfList){
ArrayList<Integer> results = new ArrayList<Integer>();
for(int i = 0; i<sizeOfList; i++){
<algorithm to add sorted numbers to array>
}
if(<some_flag>)
assert results.get(0) < results.get(1) : "Results are not sorted.";
assert results.size() == sizeOfList : "Results-list size does not equal requested size.";
return results;
}
Run Code Online (Sandbox Code Playgroud)
是否最好使用系统属性来控制变量?如果是这种情况,是否可以为整个项目而不仅仅是特定类(在Eclipse中)设置系统属性?
使用"常量"类中定义的常量变量是一个更好的主意吗?
还有其他我不想的方法吗?
提前致谢.
使用SimpleDateFormat,如何解析字符串:"2013-05-23T09:18:07 pm.380 + 0000"
我的所有SimpleDateFormat字符串都在"pm"部分绊倒.
提前致谢.
编辑:我们无法控制进入的格式.
我试过了:
"yyyy-MM-dd'T'HH:mm:ss a.a..SSSZ"
"yyyy-MM-dd'T'HH:mm:ss aaaa.SSSZ"
"yyyy-MM-dd'T'HH:mm:ss a.'m'..SSSZ"
"yyyy-MM-dd'T'HH:mm:ss a.'m.'.SSSZ"
"yyyy-MM-dd'T'HH:mm:ss a.'m..'SSSZ"
"yyyy-MM-dd'T'HH:mm:ss aa'm'..SSSZ"
"yyyy-MM-dd'T'HH:mm:ss aa'm.'.SSSZ"
"yyyy-MM-dd'T'HH:mm:ss aaa'..'SSSZ"
"yyyy-MM-dd'T'HH:mm:ss aaa.'.'SSSZ"
"yyyy-MM-dd'T'HH:mm:ss aaa'.'.SSSZ"
Run Code Online (Sandbox Code Playgroud) 如何在 flutter/dart 中仅向 TextButton 添加顶部和底部边框?
TextButton(
onPressed: () {},
child: Text('Button'),
);
Run Code Online (Sandbox Code Playgroud)