You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Flutter代码报错:Too many positional arguments: 0 expected, but 1 found

问题排查与解决

错误原因

错误提示“Too many positional arguments: 0 expected, but 1 found”的核心问题是:Center组件仅支持一个child参数,但你的代码里直接在Center下放置了Padding和ElevatedButton两个子组件,违反了该组件的参数规则。

修复方案

将Center内的两个子组件用Column(或其他适配的布局组件)包裹,让Center仅持有一个child。修改后的完整代码如下:

import 'package:flutter/material.dart';

void main() {
  runApp(MaterialApp(
    home: const RunMyApp(),
    debugShowCheckedModeBanner: false,
    theme: ThemeData(primarySwatch: Colors.green),
  ));
}

class RunMyApp extends StatelessWidget {
  const RunMyApp({super.key});

  @override
  Widget build(BuildContext context) {
    return Scaffold(
      appBar: AppBar(
        title: const Text('Login page'),
      ),
      body: Center(
        child: Column(
          mainAxisAlignment: MainAxisAlignment.center,
          children: [
            Padding(
              padding: const EdgeInsets.all(15),
              child: Column(children: const <Widget>[
                Padding(
                  padding: EdgeInsets.all(15),
                  child: TextField(
                    decoration: InputDecoration(
                      border: OutlineInputBorder(),
                      hintText: 'Enter a phone number',
                      labelText: 'Phone',
                    ),
                  ),
                ),
                Padding(
                  padding: EdgeInsets.all(15),
                  child: TextField(
                    decoration: InputDecoration(
                      border: OutlineInputBorder(),
                      labelText: 'Password',
                      hintText: 'Enter Password',
                    ),
                  ),
                ),
                ElevatedButton(
                  onPressed: null,
                  child: Text('Login'),
                ),
              ]),
            ),
            ElevatedButton(
                onPressed: () {
                  Navigator.push(context,
                      MaterialPageRoute(builder: (context) => const NextPage()));
                },
                child: const Text('Home Page')),
          ],
        ),
      ),
    );
  }
}

class NextPage extends StatelessWidget {
  const NextPage({super.key});

  @override
  Widget build(BuildContext context) {
    return Scaffold(
      appBar: AppBar(
        title: const Text('Next Page'),
      ),
      body: const Center(
        child: Text('Welcome'),
      ),
    );
  }
}

关键修改说明

  • 用Column包裹原Center内的两个子组件,使其成为Center的唯一child
  • 添加mainAxisAlignment: MainAxisAlignment.center,保证Column内的元素垂直居中,匹配原布局的视觉效果

内容的提问来源于stack exchange,提问作者Naveen Dwivedi

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.25 09:52:24