Android 如何在flatter中传递2个参数?
我想将2个参数传递到我的主页() 这是我的密码:Android 如何在flatter中传递2个参数?,android,ios,flutter,dart,Android,Ios,Flutter,Dart,我想将2个参数传递到我的主页() 这是我的密码: final String NumID = ModalRoute.of(context).settings.arguments.toString(); final IDNum = NumID.toString(); final SmsCode = _controller.text; final url = 'https://***
final String NumID = ModalRoute.of(context).settings.arguments.toString();
final IDNum = NumID.toString();
final SmsCode = _controller.text;
final url = 'https://*******/api/User/$IDNum?sms=$SmsCode';
Future fetchSMS() async {
final response = await http.get(url);
if (response.statusCode == 200) {
return jsonDecode(response.body);
} else {
throw Exception('Failed');
}
}
fetchSMS().then((resaultOfFeture) {
if(resaultOfFeture == true){
final snackBar = SnackBar(content: Text('با موفقیت وارد شدید',
textAlign: TextAlign.center,
style: TextStyle(
color: Colors.white,
fontFamily: "IranSans",
fontSize: 18
),
),
);
ScaffoldMessenger.of(context).showSnackBar(snackBar);
Navigator.of(context).push(MaterialPageRoute(
builder: (context) => MainPage(),
settings: RouteSettings(
arguments: resaultOfFeture,
),
));
除了再审,我也想通过NumID。
有什么想法吗?您可以将地图作为参数传递:
var args= {'resaultOfFeture': resaultOfFeture ,'anotherThing':'otherValue'};
settings: RouteSettings(arguments: args),
在另一个屏幕上,您可以获得以下值:
var data = ModalRoute.of(context).settings.arguments;
var result = data['resaultOfFeture'];
Navigator的“arguments”参数接受一个对象,因此您可以传递一个同时包含ResultOffery和NumID的对象,例如
arguments: {'res': resaultOfFeture, id: NumID ,}
或者您也可以将包含这两个字段的类定义为其成员,然后传递此对象。
在主页中,您可以使用ModalRoute.of(context)!。设置.参数
请参阅:在另一页上分开项目如何?你明白了吗?而且我对你的方法有错误。