Flutter 缺少state.build的具体实现
我在Dart中遇到以下错误: 缺少“state.build”的具体实现 第一种方法如下:Flutter 缺少state.build的具体实现,flutter,dart,Flutter,Dart,我在Dart中遇到以下错误: 缺少“state.build”的具体实现 第一种方法如下: class MyHomePage extends StatefulWidget { // String titleInput; // String amountInput; @override MyHomePageState createState() => MyHomePageState(); } class MyHomePageState extends State<MyH
class MyHomePage extends StatefulWidget {
// String titleInput;
// String amountInput;
@override
MyHomePageState createState() => MyHomePageState();
}
class MyHomePageState extends State<MyHomePage> {
final List<Transaction> _userTransactions = [
// Transaction(
// id: "t1",
// title: "New Shoes",
// amount: 69.99,
// date: DateTime.now(),
// ),
// Transaction(
// id: "t2",
// title: "Weekly Groceries",
// amount: 16.53,
// date: DateTime.now(),
// ),
];
类MyHomePage扩展StatefulWidget{
//字符串标题输入;
//字符串数量输入;
@凌驾
MyHomePageState createState()=>MyHomePageState();
}
类MyHomePageState扩展了状态{
最终列表_userTransactions=[
//交易(
//id:“t1”,
//标题:“新鞋”,
//金额:69.99,
//日期:DateTime.now(),
// ),
//交易(
//id:“t2”,
//标题:“每周食品杂货”,
//金额:16.53,
//日期:DateTime.now(),
// ),
];
有人知道这个错误意味着什么以及如何解决它吗
谢谢。您需要在小部件的
状态
中添加构建
方法,此方法描述小部件所代表的用户界面部分,例如。,
(将其添加到MyHomePageState
)
您需要将
构建
方法添加到小部件的状态
,此方法描述小部件所代表的用户界面部分,例如。,
(将其添加到MyHomePageState
)
所有的
有状态小部件
和无状态小部件
都应该有build
方法
@override
Widget build(BuildContext context) {
return Container(
...
);
}
如果您想在不使用构建的情况下使用它
不要使用状态扩展类
,请像这样使用它
class YourClassName {
}
所有的
有状态小部件
和无状态小部件
都应该有build
方法
@override
Widget build(BuildContext context) {
return Container(
...
);
}
如果您想在不使用构建的情况下使用它
不要使用状态扩展类
,请像这样使用它
class YourClassName {
}
转到
State
类的定义,看看什么是抽象方法。你会发现build()
方法是唯一的抽象方法,即没有主体的方法。因此,当你从State
继承时,你必须重写build()
并给出一个主体;基本上,您将在build()
方法中创建Widgets
@override
Widget build(BuildContext context) {
return Container(
...
);
}
因此,要修复此错误,请向类中添加以下代码:
class MyHomePageState extends State<MyHomePage> {
@override
Widget build(BuildContext context) {
return Scaffold( // Your Widget
...
);
}
}
类MyHomePageState扩展状态{
@凌驾
小部件构建(构建上下文){
返回Scaffold(//您的小部件
...
);
}
}
转到状态
类的定义,看看抽象方法是什么。你会发现build()
方法是唯一的抽象方法,即没有主体的方法。因此,当你从状态
继承时,你必须重写build()
并给出一个主体;基本上,您将在build()
方法中创建Widgets
@override
Widget build(BuildContext context) {
return Container(
...
);
}
因此,要修复此错误,请向类中添加以下代码:
class MyHomePageState extends State<MyHomePage> {
@override
Widget build(BuildContext context) {
return Scaffold( // Your Widget
...
);
}
}
类MyHomePageState扩展状态{
@凌驾
小部件构建(构建上下文){
返回Scaffold(//您的小部件
...
);
}
}
只要检查一下
@override
Widget build( Buildcontext context)
{
return Container();
}
检查构建的拼写
原因:当您使用无状态或状态完整的小部件扩展类时,您使用overiding方法覆盖已在父类中编写的预定义方法
无状态/完整类只需检查
@override
Widget build( Buildcontext context)
{
return Container();
}
检查构建的拼写
原因:当您使用无状态或状态完整的小部件扩展类时,您使用overiding方法覆盖已在父类中编写的预定义方法
state less/full class检查关闭类的花括号,其中找到了小部件构建方法。您可能只是在错误的位置关闭了它 我就是这样 因此,请确保您的构建方法位于包围该类的花括号内
class _LandingPageState extends State<LandingPage> {
Widget build(BuildContext context) {
...
}
class\u LandingPageState扩展状态{
小部件构建(构建上下文){
...
}
检查关闭类的花括号,在该类中找到小部件构建方法。您可能只是在错误的位置关闭了它
我就是这样
因此,请确保您的构建方法位于包围该类的花括号内
class _LandingPageState extends State<LandingPage> {
Widget build(BuildContext context) {
...
}
class\u LandingPageState扩展状态{
小部件构建(构建上下文){
...
}