在颤振中使用 for-each 循环时,我的代码中出现“预期的标识符”和“预期找到‘)’”错误,这是循环中的代码
body: ListView(
for(String item in groceryListNames){
ListTile(
title: "$item",
onPressed: () {
Navigator.push(
context,
MaterialPageRoute(builder: (context) => GroceryListPage()),
);
},
),
},
),
基本上,当按下循环中的项目时,它应该从一个名为 GroceryListPage() 的函数打开一个新页面,但循环给了我上面的错误。这是整个功能:
class _ListsPageState extends State<ListsPage>with SingleTickerProviderStateMixin {
Widget build(BuildContext context) {
return Scaffold(
appBar: AppBar(title: Text("Grocery Lists")),
drawer: AppDrawer(),
body: ListView(
for(String item in groceryListNames){
ListTile(
title: "$item",
onPressed: () {
Navigator.push(
context,
MaterialPageRoute(builder: (context) => GroceryListPage()),
);
},
),
},
),
);
}
}
代码中的第一个问题
该AppBar
控件title
属性时需要一个Widgets
为什么你提供一个字符串
第二期
为了获取点击事件ListTile
,你需要使用 onTap: () {}
的方法有没有方法名称onPressed ()
中ListTile
的小部件
试试这个方法
Widget build(BuildContext context) {
return Scaffold(
appBar: AppBar(
title: Text("Grocery Lists")
),
drawer: AppDrawer(),
body: ListView(
children: groceryListNames
.map(
(data) => ListTile(
title: Text("$data"),
onTap: () {
Navigator.push(
context,
MaterialPageRoute(builder: (context) => GroceryListPage()),
);
},
),
)
.toList(),
),
);
}
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句