程序问答   发布时间:2022-06-01  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了错误:flutter 中没有名为“IndexedWidgetBuilder”的命名参数大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。

如何解决错误:flutter 中没有名为“IndexedWidgetBuilder”的命名参数?

开发过程中遇到错误:flutter 中没有名为“IndexedWidgetBuilder”的命名参数的问题如何解决?下面主要结合日常开发的经验,给出你关于错误:flutter 中没有名为“IndexedWidgetBuilder”的命名参数的解决方法建议,希望对你解决错误:flutter 中没有名为“IndexedWidgetBuilder”的命名参数有所启发或帮助;

在 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,);
      },);
  }

  _onPageChanged(int index) {
    setState(() {
      _currentPage = index;
    });
  }
}

错误信息:

lib/Widgets/carousel.dart:122:11: Error: No @R_502_6889@d parameter with the @R_502_6889@ '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 @R_502_6889@d parameter with the @R_502_6889@ '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.

不知道是什么问题

解决方法

在您的 IndexedWidgetBuilder: (context,index) 方法中将此 itemBuilder: (context,index) 更改为 _buildDynamicList()。查看此 page 以获取列表视图构建器的示例。

您将属性的类型与其名称混淆了。这就是错误消息试图传达的意思,说没有名为 IndexedWidgetBuilder 的属性。属性名称为 itemBuilder

也在 PageViewBuilder 中将其替换为 itemBuilder。检查 here 的文档。

大佬总结

以上是大佬教程为你收集整理的错误:flutter 中没有名为“IndexedWidgetBuilder”的命名参数全部内容,希望文章能够帮你解决错误:flutter 中没有名为“IndexedWidgetBuilder”的命名参数所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。
标签: