Error: No named parameter with the name 'IndexedWidgetBuilder' in flutter
Error: No named parameter with the name 'IndexedWidgetBuilder' in flutter
在 flutter web 中得到这个错误。在PageView.builder并没有在flutter项目中如何使用IndexedWidgetBuilder。尝试使用 itembuilder(context, index) 但没有解决。不能在这些版本的 flutter 中使用 itemcount,itembuilder。
扑博士:
Doctor summary (to see all details, run flutter doctor -v):
[√] Flutter (Channel stable, 2.0.3, on Microsoft Windows [Version 10.0.19042.746], locale en-IN)
[!] Android toolchain - develop for Android devices (Android SDK version 29.0.2)
! Some Android licenses not accepted. To resolve this, run: flutter doctor --android-licenses
[√] Chrome - develop for the web
[√] Android Studio (version 3.5)
[√] VS Code (version 1.52.1)
[√] Connected device (2 available)
代码:
import 'dart:async';
import 'package:flutter/material.dart';
import 'package:website/references/ref.dart';
class Carousel extends StatefulWidget {
@override
_CarouselState createState() => _CarouselState();
}
class _CarouselState extends State<Carousel> {
var _tag = "carousel.dart";
/// [ref]
Ref _ref = Ref();
/// [slide images]
final List<String> imgList = [
"assets/slider/slide1.jpg",
"assets/slider/slide2.jpeg",
"assets/slider/slide3.jpeg",
"assets/slider/slide4.jpeg",
"assets/slider/slide5.jpg",
"assets/slider/slide6.jpeg"
];
/// [variable for carousel]
final PageController _pageController = PageController(
initialPage: 0,
viewportFraction: 1,
);
int _currentPage = 0;
@override
void initState() {
super.initState();
try {
Timer.periodic(Duration(seconds: 8), (Timer timer) {
if (_currentPage < 5) {
_currentPage++;
} else {
_currentPage = 0;
}
});
} on Exception catch (e) {
print("$_tag initState e : $e");
}
}
@override
void dispose() {
super.dispose();
_pageController.dispose();
}
@override
Widget build(BuildContext context) {
double h = MediaQuery.of(context).size.height;
double w = MediaQuery.of(context).size.width;
print("$_tag h: $h");
print("$_tag w: $w");
return ListView(
padding: _ref.paddnMargin.edgeInsets0,
children: <Widget>[
_buildImageCarosel(),
],
);
}
// build image carosel
Widget _buildImageCarosel() {
Widget widget;
try {
widget = Container(
height: MediaQuery.of(context).size.height / 1.5,
width: MediaQuery.of(context).size.width,
child: PageView.builder(
scrollDirection: Axis.horizontal,
controller: _pageController,
onPageChanged: _onPageChanged,
IndexedWidgetBuilder: _buildDynamicList,
),
);
} on Exception catch (e) {
print("$_tag _buildImageCarosel e : $e");
}
return widget;
}
Widget _buildDynamicList() {
return ListView.builder(
scrollDirection: Axis.horizontal,
padding: _ref.paddnMargin.edgeInsets0,
IndexedWidgetBuilder: (context, index) {
return Container(
margin: _ref.paddnMargin.edgeInsets10A,
child: Center(
child: Image.asset(
imgList[index],
height: MediaQuery.of(context).size.height / 1.5,
width: MediaQuery.of(context).size.width,
),
),
);
},
);
}
_onPageChanged(int index) {
setState(() {
_currentPage = index;
});
}
}
错误信息:
lib/widgets/carousel.dart:122:11: Error: No named parameter with the name 'IndexedWidgetBuilder'.
IndexedWidgetBuilder: _buildDynamicList,
^^^^^^^^^^^^^^^^^^^^
/C:/sdk/flutter/packages/flutter/lib/src/widgets/page_view.dart:661:3: Context: Found this candidate, but the arguments don't match.
PageView.builder({
^^^^^^^^^^^^^^^^
lib/widgets/carousel.dart:140:7: Error: No named parameter with the name 'IndexedWidgetBuilder'.
IndexedWidgetBuilder: (context, index) {
^^^^^^^^^^^^^^^^^^^^
/C:/sdk/flutter/packages/flutter/lib/src/widgets/scroll_view.dart:1154:3: Context: Found this candidate, but the arguments don't match.
ListView.builder({
^^^^^^^^^^^^^^^^
Waiting for connection from debug service on Chrome... 23.0s
Failed to compile application.
不明白是什么问题
在 flutter web 中得到这个错误。在PageView.builder并没有在flutter项目中如何使用IndexedWidgetBuilder。尝试使用 itembuilder(context, index) 但没有解决。不能在这些版本的 flutter 中使用 itemcount,itembuilder。
扑博士:
Doctor summary (to see all details, run flutter doctor -v):
[√] Flutter (Channel stable, 2.0.3, on Microsoft Windows [Version 10.0.19042.746], locale en-IN)
[!] Android toolchain - develop for Android devices (Android SDK version 29.0.2)
! Some Android licenses not accepted. To resolve this, run: flutter doctor --android-licenses
[√] Chrome - develop for the web
[√] Android Studio (version 3.5)
[√] VS Code (version 1.52.1)
[√] Connected device (2 available)
代码:
import 'dart:async';
import 'package:flutter/material.dart';
import 'package:website/references/ref.dart';
class Carousel extends StatefulWidget {
@override
_CarouselState createState() => _CarouselState();
}
class _CarouselState extends State<Carousel> {
var _tag = "carousel.dart";
/// [ref]
Ref _ref = Ref();
/// [slide images]
final List<String> imgList = [
"assets/slider/slide1.jpg",
"assets/slider/slide2.jpeg",
"assets/slider/slide3.jpeg",
"assets/slider/slide4.jpeg",
"assets/slider/slide5.jpg",
"assets/slider/slide6.jpeg"
];
/// [variable for carousel]
final PageController _pageController = PageController(
initialPage: 0,
viewportFraction: 1,
);
int _currentPage = 0;
@override
void initState() {
super.initState();
try {
Timer.periodic(Duration(seconds: 8), (Timer timer) {
if (_currentPage < 5) {
_currentPage++;
} else {
_currentPage = 0;
}
});
} on Exception catch (e) {
print("$_tag initState e : $e");
}
}
@override
void dispose() {
super.dispose();
_pageController.dispose();
}
@override
Widget build(BuildContext context) {
double h = MediaQuery.of(context).size.height;
double w = MediaQuery.of(context).size.width;
print("$_tag h: $h");
print("$_tag w: $w");
return ListView(
padding: _ref.paddnMargin.edgeInsets0,
children: <Widget>[
_buildImageCarosel(),
],
);
}
// build image carosel
Widget _buildImageCarosel() {
Widget widget;
try {
widget = Container(
height: MediaQuery.of(context).size.height / 1.5,
width: MediaQuery.of(context).size.width,
child: PageView.builder(
scrollDirection: Axis.horizontal,
controller: _pageController,
onPageChanged: _onPageChanged,
IndexedWidgetBuilder: _buildDynamicList,
),
);
} on Exception catch (e) {
print("$_tag _buildImageCarosel e : $e");
}
return widget;
}
Widget _buildDynamicList() {
return ListView.builder(
scrollDirection: Axis.horizontal,
padding: _ref.paddnMargin.edgeInsets0,
IndexedWidgetBuilder: (context, index) {
return Container(
margin: _ref.paddnMargin.edgeInsets10A,
child: Center(
child: Image.asset(
imgList[index],
height: MediaQuery.of(context).size.height / 1.5,
width: MediaQuery.of(context).size.width,
),
),
);
},
);
}
_onPageChanged(int index) {
setState(() {
_currentPage = index;
});
}
}
错误信息:
lib/widgets/carousel.dart:122:11: Error: No named parameter with the name 'IndexedWidgetBuilder'.
IndexedWidgetBuilder: _buildDynamicList,
^^^^^^^^^^^^^^^^^^^^
/C:/sdk/flutter/packages/flutter/lib/src/widgets/page_view.dart:661:3: Context: Found this candidate, but the arguments don't match.
PageView.builder({
^^^^^^^^^^^^^^^^
lib/widgets/carousel.dart:140:7: Error: No named parameter with the name 'IndexedWidgetBuilder'.
IndexedWidgetBuilder: (context, index) {
^^^^^^^^^^^^^^^^^^^^
/C:/sdk/flutter/packages/flutter/lib/src/widgets/scroll_view.dart:1154:3: Context: Found this candidate, but the arguments don't match.
ListView.builder({
^^^^^^^^^^^^^^^^
Waiting for connection from debug service on Chrome... 23.0s
Failed to compile application.
不明白是什么问题