代码之家  ›  专栏  ›  技术社区  ›  artaxerxe

为什么radioButtonGroup不立即设置numRadioButtons?

  •  0
  • artaxerxe  · 技术社区  · 14 年前

                var x : int = 50;
                var group : RadioButtonGroup = new RadioButtonGroup();
                for (var i : int = 0; i < 5; i++) {
                    var rb : RadioButton = new RadioButton();
                    rb.id = i.toString();
                    rb.group = group;
                    rb.label = i.toString();
                    rb.x = x;
                    x += 40;
                    cnv_subContent.addElement(rb);//a BorderContainer
                }
                Alert.show(group.numRadioButtons.toString());
    

    当我运行应用程序时,它显示“0”。为什么是这个?

    1 回复  |  直到 14 年前
        1
  •  4
  •   dchang    14 年前

    这是由于 flex component lifecycle

    得到正确的答案group.numRadioButtons组,则必须异步执行操作。有趣的是spark.components.RadioButtonGroup组实际上,每当添加或删除单选按钮时,都会发送一个未记录的“numradiobuttonnschanged”事件。它的工作,但当然是无证使用在您自己的风险。