尝试添加currentIndex-Property时出现此错误。
我很确定我在某些较旧的项目中确实做到了这一点,并且不知道为什么它不起作用。
int _currentIndex = 0;
bottomNavigationBar: BottomNavigationBar(
currentIndex: _currentIndex,
onTap: (int index) {
setState(() {
_currentIndex = index;
});
},
items: [
BottomNavigationBarItem(
icon: Icon(Icons.bubble_chart),
title: Text("Home")
),
BottomNavigationBarItem(
icon: Icon(Icons.timelapse),
title: Text("Timeline")
),
BottomNavigationBarItem(
icon: Icon(Icons.person_outline),
title: Text("Home")
)
],
),
错误输出为
I/flutter (11694): The method '>' was called on null.
I/flutter (11694): Receiver: null
I/flutter (11694): Tried calling: >(0)
答案 0 :(得分:0)
我今天也遇到了这个确切的问题。我没有答案的原因,但我可以描述导致其消失的奇异事件链。
我的代码与您的代码几乎相同。我使用_selectedIndex作为变量名,而不是使用_currentIndex。如果我切换:
currentIndex: _selectedIndex,
到
currentIndex: 0,
错误消失了。 (是的,_selectedIndex被初始化为0)
最终,我最终尝试了“随机”操作来解决此问题。最终对我有用的是将变量名从_selectedIndex更改为selectedIndex。是的,就是这样。然后,更奇怪的是,当我此后立即将其切换回_selectedIndex时,错误没有再出现。
我对flutter SDK的内部了解不足,无法假设正在发生的事情,所以我不会。这对我有用,并希望将来对其他人有用。
答案 1 :(得分:0)
不幸的是,我也遇到了这个问题!
最后,我发现我的_currentIndex
是null
,只需检查一下即可!
在我的情况下,_currentIndex
由其构造函数分配以指定初始索引,而我在调用它时忘记输入该初始索引。