Flutter中如何实现按钮被点击10次后调用指定函数?
实现方案
首先在当前页面的State类中定义有效点击计数器,注意不要将计数器定义在build方法内,避免页面重建时被重置:
// 放在State类中,build方法外 int _validClickCount = 0; // 你需要触发的目标方法 void _targetMethod() { // 对应方法的业务逻辑 }
修改按钮的onClick逻辑如下,仅统计选中答案后的有效点击,累计10次后调用对应方法:
NextQuestionButton( onClick: () { if (answerWasSelected) { _validClickCount++; if (_validClickCount == 10) { // 累计10次后调用目标方法 _targetMethod(); // 如果需要10次之后重置计数可放开下一行注释 // _validClickCount = 0; // 如果10次后不需要再执行原来的_nextQuestion可以直接return // return; } // 原有逻辑保留,前9次仍会跳转下一题 _nextQuestion(); } else { return; } }, )
如果你的需求是前9次不执行任何原有逻辑,仅第10次点击才触发对应方法,把_nextQuestion()放到_validClickCount == 10的判断分支内即可。
内容的提问来源于stack exchange,提问作者Gaurav Kumar
相关产品推荐
相关产品推荐

