BuildContext 不是在 showDialog widget 中使用 ListView.builder 的 Flutter 类型



我需要使用ListView。生成器在showDialog小部件,但我得到了错误与BuildContext在ListView。BuildContext不是一个类型这是我得到错误

的那行
itemBuilder: (BuildContext buildContext,int index){

还有我所有的代码

import 'dart:async';
import 'package:flutter/material.dart';
import 'package:flutter/cupertino.dart';
Future<void> main() async{
runApp(
MaterialApp(
title: 'Some Tests',
home: Home(),
),
);
class Home extends StatefulWidget {
const Home({Key? key, }) : super(key: key);
@override
_HomeState createState() => _HomeState();
}
class _HomeState extends State<Home> {
@override
Widget build(BuildContext context) {
return Scaffold(
floatingActionButton: FloatingActionButton(
child: Icon(Icons.add),
onPressed: (){
showDialog(context: context, builder: (BuildContext){
return Container(
height: 300,
width: double.maxFinite,
child: ListView.builder(
itemCount: someList.length
//line below comment got error
itemBuilder: (BuildContext buildContext,int index){
// line above comment got error
return Card(
child: Row(
mainAxisAlignment: MainAxisAlignment.spaceAround,
children: [],
),
);
}
),
);
});
},
),
);
}
}

我在main函数中使用了Future用于其他东西,但它不影响其余的代码

showDialog(context: context, builder: (BuildContext){

这一行定义了一个变量名"BuildContext"这会混淆编译器。

使用带有类型和名称的完整定义:

showDialog(context: context, builder: (BuildContext buildContext){

或者直接使用名称,但不要选择同时也是类型的名称:

showDialog(context: context, builder: (buildContext){

相关内容

  • 没有找到相关文章

最新更新