【发布时间】:2020-01-23 02:51:57
【问题描述】:
谁能告诉我如何纠正这两个错误?我尝试了几种不同的方法,但都没有成功。
这两个问题都与“Class SecondScreen”有关。
我不知道应该在哪里进行更改。这可能是一个非常简单的问题。但如果你们中的任何一位能就这个问题给我一些见解,我会很高兴。
我浏览了一些示例代码和教程,但找不到有效的。
import 'package:flutter/material.dart';
//import 'package:flutter/services.dart';
void main() => runApp(MyApp());
class MyApp extends StatelessWidget {
@override
Widget build(BuildContext context) {
return MaterialApp(
title: 'firstapp',
debugShowCheckedModeBanner: false,
theme: ThemeData(
primarySwatch: Colors.teal
),
home: HomePage(),
);
}
}
class HomePage extends StatefulWidget {
@override
_HomePageState createState() => _HomePageState();
}
class _HomePageState extends State<HomePage> {
List data = ["one", "Two", "Three", "Four", "Five"];
@override
Widget build(BuildContext context) {
return Scaffold(
body: ListView.builder(
itemCount: 5,
itemBuilder: (BuildContext context, int i) => Column(
children: <Widget>[
Container(
padding: EdgeInsets.symmetric(vertical: 12.0,horizontal: 10.0),
child: Column(
crossAxisAlignment: CrossAxisAlignment.start,
children: <Widget>[
Container(
child: FlatButton(
padding: EdgeInsets.symmetric(vertical: 12.0,horizontal: 10.0),
child: Text(data[i], style: TextStyle(fontWeight: FontWeight.bold,fontSize: 18.0)),
onPressed: () {
Navigator.push(
context,
new MaterialPageRoute(builder: (context) => new SecondScreen(i)),
);
},
)
),
Divider(color: Colors.black),
],
),
)
],),
)
);
}
}
class SecondScreen extends StatelessWidget {
List data = ["one", "Two", "Three", "Four", "Five"];
List data1 = ["this", "that", "here", "hello", "ahoy"];
@override
Widget build(BuildContext context) {
return new Scaffold(
appBar: new AppBar(
//title: new Text("Second Screen"),
Container(
child: Padding(
padding: const EdgeInsets.all(16.0),
child: Column(
children: <Widget>[
Padding(
padding: const EdgeInsets.only(top: 8.0, bottom: 6.0),
child: Text(data[i], style: TextStyle(fontWeight: FontWeight.bold,fontSize: 25.0)),
),
]
),
),
Padding(
padding: const EdgeInsets.only(top: 8.0, bottom: 2.0),
child: Row(children: <Widget>[
Text(data1[i],style: TextStyle(fontWeight: FontWeight.normal,fontSize: 12.0)
),
]
),
),
)
),
);
}
}
位置参数过多:预期为 0,但找到了 1。 尝试删除额外的位置参数,或指定命名
arguments.dart(extra_positional_arguments_could_be_named) 的名称
位置参数必须出现在命名参数之前。 尝试将所有位置参数移到已命名的
arguments.dart(positional_after_named_argument) 之前
【问题讨论】:
-
请同时发布错误日志
-
如果你想在你的 SecondScreen() 构造函数中传递一些东西,你必须在你的 SecondScreen 类中定义构造函数。之后你会觉得自己像个超级英雄。