【问题标题】:error: The argument type 'Null Function(int)' can't be assigned to the parameter type 'dynamic Function(int, CarouselPageChangedReason)'错误:不能将参数类型“Null Function(int)”分配给参数类型“动态函数(int, CarouselPageChangedReason)”
【发布时间】:2021-06-24 14:09:01
【问题描述】:

我也在使用轮播幻灯片插件创建轮播幻灯片图像,但是当我初始化“int”变量时 _current = 0;我创建了一个设置状态来将变量分配给它,这给了我一个错误。 "Null function(int)' 不能赋值给参数类型'dynamic Function(int, CarouselPageChangedReason)'"

类 HomePage 扩展 StatefulWidget { 静态字符串页面 = 'home_Page';

  @override
  _HomePageState createState() => _HomePageState();
}

class _HomePageState extends State<HomePage> {
  int _current = 0;

  List imgList = [
    'assets/images/deal1.jpg',
    'assets/images/deal4.jpg',
    'assets/images/deal2.jpg',
    'assets/images/deal3.png',
  ];

  @override
  Widget build(BuildContext context) {
    SizeConfig().init(context);
    return Scaffold(
      appBar: buildAppBar,
      drawer: Drawer(
        child: DrawerPage(),
      ),
      body: Container(
        margin: EdgeInsets.only(left: 14),
        child: Container(
          height: getProportionateScreenHeight(820),
          child: ListView(
            children: [
              Column(
                crossAxisAlignment: CrossAxisAlignment.start,
                children: [
                  welcomeHeader(),
                  SizedBox(height: getProportionateScreenHeight(10)),
                  SearchField(),
                  SizedBox(height: getProportionateScreenHeight(20)),
                  categorySectionTitle(),
                  SizedBox(height: getProportionateScreenWidth(5)),
                  categoryListTiles(),
                  SizedBox(height: getProportionateScreenHeight(20)),
                  SizedBox(height: getProportionateScreenHeight(10)),
                  popularFoodSectionTiles(),
                  Column(
                    mainAxisAlignment: MainAxisAlignment.center,
                    crossAxisAlignment: CrossAxisAlignment.center,
                    children: [
                      CarouselSlider(
                        options: CarouselOptions(
                          height: 100,
                          initialPage: 0,
                          onPageChanged: (index) {
                            setState(() {
                              _current = index;
                            });
                          },
                        ),enter code here
                        items: [],
                      ),
                    ],
                  ),
                  SizedBox(height: getProportionateScreenHeight(20)),
                  restaurantSplendorTiles(),
                  SizedBox(height: getProportionateScreenWidth(5)),
                  RestaurantCat(),
                ],
              ),
            ],
          ),
        ),
      ),
    );
  }
}

这是代码的错误行是:

onPageChanged: (index) {
                            setState(() {
                              _current = index;
                            });
                          }

,

请帮帮我... :(

【问题讨论】:

    标签: flutter dart slider carousel


    【解决方案1】:

    我找到了答案,而不是;

    onPageChanged: (index) {
                                setState(() {
                                  _current = index;
                                });
                              }
    

    应该是;

    onPageChanged: (index, reason) {
                                setState(() {
                                  _current = index;
                                });
                              }
    

    【讨论】:

      【解决方案2】:

      您似乎需要在 onPageChanged 函数中接受另一个参数。像这样的东西应该可以工作......

      onPageChanged: (index, _) {
        setState(() {
          _current = index;
        });
      }
      

      【讨论】:

      • 非常感谢,我猜他们改了。我在 youtube 上观看了一个视频,我想该视频必须更新
      猜你喜欢
      • 2021-06-04
      • 1970-01-01
      • 2020-06-21
      • 2020-12-03
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-11-15
      • 2021-03-23
      相关资源
      最近更新 更多