我正在尝试学习使用BottomNavigationBar
(以替换屏幕底部的按钮)。在我当前的代码中,当用户点击“后退”按钮时:
onPressed: () {
setState(() {
anotherObject.previousQuestion();
},
);
},
被触发。 previousQuestion
方法更改列表中的索引,并使用新选择的列表项中的信息重绘屏幕。
当用户点击BottomNavigationBar时,是否可以使同一件事发生?
出现我的问题是因为
body
小部件和onPressed
方法当前在有状态窗口小部件中被调用。)答案 0 :(得分:2)
在MaterialApp中,BottomNavigationBar在主应用小部件中声明,该控件是无状态的。我要问的是涉及更改应用程序的状态。 (上面的onPressed方法当前在有状态窗口小部件中调用。)
编辑以澄清:您可以从任何具有触发事件onTap
,onPressed
等的窗口小部件中调用任何函数。如果窗口小部件不具有该属性,则可以可以用InkWell
或GestureDetector
包装所述小部件。
当用户点击BottomNavigationBar时,是否可以使同一件事发生?
是的,可以。您几乎可以更改任何内容,只要您可以操纵Widget的状态即可。