Flutter 中抛出 LateInitilization 错误

问题描述 投票:0回答:1

我目前正在尝试编译我的代码,但每次我都会遇到相同的 LateInitillization 错误。这看起来是由于我的 TabController,但我在这里需要帮助。

我是Flutter新手,但我理解“迟到”之后,InitState不会启动它吗?或者我需要在小部件中的某个位置初始化 tabController 吗?

class _HomePageState extends State<HomePage> with SingleTickerProviderStateMixin {

  late TabController _tabController;

  @override
  void initState() {
    super.initState();
    _tabController = TabController(length: 1, vsync: this);
  }

  @override
  void dispose() {
    _tabController.dispose();
    super.dispose();
  }


  @override
  Widget build(BuildContext context) {
    return Scaffold(
      drawer: const MyDrawer(),
      body: NestedScrollView(
        headerSliverBuilder: (context, innerBoxIsScrolled) => [
          MySliverAppBar(
            title: MyTabBar(tabController: _tabController),
            child: Column(
              mainAxisAlignment: MainAxisAlignment.end,
              crossAxisAlignment: CrossAxisAlignment.start,
              children: [
                Divider(
                  indent: 25,
                  endIndent: 25,
                  color: Theme.of(context).colorScheme.secondary,
                ),
                //Add Current Location from Component
                CurrentLocation(),
                //Add Description from Component
                DescriptionBox(),
              ],
            ),
          ),
        ],
        body: 
        TabBarView(
          controller: _tabController,
          children: [
            ListView.builder(
              itemCount: 10,
              itemBuilder: (context, index) {
                return ListTile(
                  title: Text("Item $index"),
                );
              },
            ),
          ],
        ),
      ),
    );
  }
}
ios flutter
1个回答
0
投票

尝试热重启而不是热重载,看看是否有效。

© www.soinside.com 2019 - 2024. All rights reserved.