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

Flutter开发Destini应用FlatButton点击无响应问题排查求助

错误原因

核心问题位于story_brain.dart的nextStory()方法中:你在给storyNumber赋值时,绝大多数场景错误使用了比较运算符==,而非赋值运算符=,导致点击按钮后剧情编号始终没有变更,所以界面不会跳转到下一题。

修正代码

替换story_brain.dart中的nextStory()方法为以下内容即可:

void nextStory(int choiceNumber){
  if(storyNumber==0 && choiceNumber==1) {
    storyNumber = 2;
  } else if(storyNumber==2 && choiceNumber==1) {
    storyNumber = 5;
  } else if(storyNumber==2 && choiceNumber==2) {
    storyNumber = 4;
  } else if(storyNumber==0 && choiceNumber==2) {
    storyNumber = 1;
  } else if (choiceNumber == 1 && storyNumber == 1) {
    storyNumber = 2;
  } else if(storyNumber==1 && choiceNumber==2) {
    storyNumber = 3;
  } else if(storyNumber==3||storyNumber==4||storyNumber==5) {
    restart();
  }
}

可选优化点

  • 按照代码TODO提示,给第二个按钮包裹Visibility组件,调用buttonShouldBeVisible()方法控制可见性,结局页就不会显示空内容的第二个按钮。
  • 把storyNumber改成私有变量_storyNumber,避免外部直接修改,符合封装规范。

内容的提问来源于stack exchange,提问作者Karthik KK

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.04 20:33:03