条件有时不适用于gwt

条件有时不适用于gwt,gwt,web-applications,conditional-statements,Gwt,Web Applications,Conditional Statements,我的代码中有一个罕见的问题,我有一个基于字符串变量进行非常简单验证的方法: private void showNextStep(String psCondition,String poStepName){ int liCurrentStep=Integer.valueOf(poStepName); String lsNextTrueStep=moSteps[liCurrentStep][4]; String liNextFalseStep=moSteps[liCurren

我的代码中有一个罕见的问题,我有一个基于字符串变量进行非常简单验证的方法:

private void showNextStep(String psCondition,String poStepName){
    int liCurrentStep=Integer.valueOf(poStepName);
    String lsNextTrueStep=moSteps[liCurrentStep][4];
    String liNextFalseStep=moSteps[liCurrentStep][5];

    if ("Yes".equals(psCondition)){     
        moFrmStepsContainer.getField(liNextFalseStep).hide();
        moFrmStepsContainer.getField(lsNextTrueStep).show();            
    }else{           
        moFrmStepsContainer.getField(liNextFalseStep).show();
        moFrmStepsContainer.getField(lsNextTrueStep).hide();            
    }
}
现在,这里是棘手的部分:如果我在没有调试模式的情况下执行应用程序,它会一直正确地进行验证,如果它不总是转到else块(或者至少我认为),我尝试使用JS警报(我有一个调用JS方法的类)手动调试并检查变量的值;勇敢的人都很好,验证也很好。这意味着只有调试或在IF块开始之前放置警报,它才能正确地进行验证,否则它总是转到ELSE,您认为它可能是什么

值得一提的是,这是一个在netbeans 6.9中使用GWT2.1框架开发的web应用程序。此应用程序在firefox 25.0.1中运行

谢谢大家!

更新 下面是调用我的方法的事件的代码

final ComboBoxItem loYesNo=new ComboBoxItem("cmbYesNo" + moSteps[liStepIndex][0],"");
 loYesNo.setValueMap("Yes","No");
 loYesNo.setVisible(false);
 loYesNo.setAttribute("parent", liStepIndex);
 loYesNo.addChangedHandler(new ChangedHandler() {
 public void onChanged(ChangedEvent poEvent){
     String lsStepName=loYesNo.getName();
     FormItem loItem=moFrmStepsContainer.getField(lsStepName);
     String liStepNumber=String.valueOf(loItem.getAttributeAsInt("parent"));
     showNextStep((String)poEvent.getItem().getValue(),liStepNumber);
                    }
                });

你能使用最后一个可用的GWT(2.5.1)吗?也许我能。你认为它必须做这个版本吗?
psCondition
从哪里来,什么时候设置?它闻起来像是一个竞争条件……2.1已经过时了,可能有一个问题已经被2.5.1解决了。Js在一个线程中执行,没有并发性。