我试图切换到一个不同的屏幕在Flutter项目使用onpressed,但它没有产生任何结果,不知道是什么原因。
这里是主屏幕页面:
onPressed: () {
const User_Profile();
print("Hello");
},
以下是用户配置文件:
class User_Profile extends StatefulWidget {
const User_Profile({Key? key}) : super(key: key);
@override
State<User_Profile> createState() => _user_profileState();
}
class _user_profileState extends State<User_Profile> {
@override
Widget build(BuildContext context) {
return const Text("User Profile");
}
}
问:如何使用Onpressed切换屏幕?我做错了什么,注意到每次都打印用于调试的单词Hello。
3条答案
按热度按时间efzxgjgh1#
尝试以下代码并使用**
Navigator.push
**refer navigation8i9zcol22#
您必须使用函式来取代您的类别,如下所示:
称之为:
而不是:
fgw7neuy3#
正如你所知,你不能通过调用类中的构造函数方法来跳转到特定的页面。你有两种方法:
1.按如下方式使用
Navigator.push
:您可以通过发送构造函数参数将参数发送到下一页,如下所示:
User_Profile(name: 'yourName')
.2)您可以使用Navigator.pushNamed
。您可以在项目的主类中定义routeName,如下所示:如您所见,您定义了一个routeName
'/user_profile'
,您可以使用Navigator.pushNamed
,如果您希望将参数传递到下一页,则必须使用arguments
,如下所示:这段代码用于获取在User_Profile中传递的参数:
我建议你使用第二种方法来了解你的项目的所有路线。
祝你好运;)