【问题标题】:listening for viewstack change event侦听视图堆栈更改事件
【发布时间】:2010-01-28 21:23:09
【问题描述】:

我正在开发一个使用带有 3 个画布的视图堆栈的软件。通过更改事件,我需要查找索引 2,它是最后一个画布,当它更改为此画布时,我需要它从前两个画布的输入中获取数据。

在 viewstack 事件中,我已将函数 change() 分配给事件 childIndexChange。

方法如下:

private function change():void
{
 Alert.show(customerViewStack.selectedIndex.toString());
}

最终这个方法看起来像这样:

public function change():void
{
 if(customerViewStack.selectedIndex == 2)
 {
 rCID.text = cidTxt.text;
 rCNAME.text = nameTxt.text;
 rCACCTN.text = acctNumTxt.text;
 rCACCTR.text = acctRep.text;
 rCWEB.text = website.text;
 rCACTIVE.text = active.text;
 rCSTREET.text = cStreet.text + " "+ cSuite.text;
 rCCSZ.text = cCity.text + ", " + cState.text + " " + cZipcode.text;
 rCPHN.text = cPhone.text;
 rCAPHN.text = cPhone0.text;
 rCFAX.text = cFax.text;
 }

 }

在我的视图中交替使用这种方法,按钮实际上位于画布内:

customerViewStack.selectedChild=cAddress

无论如何,问题是事件似乎没有触发我的更改功能,因为没有警报出现,而且我这样做的方式可能很天真,所以如果你有任何建议,请我敞开心扉。

【问题讨论】:

    标签: apache-flex actionscript-3 air


    【解决方案1】:

    我采取了另一种方法,我将绕过“延迟实例化”并将 cereationPolicy 转为 all。最后一个之前的视图我会从那里设置值然后过渡过来。

    但是,如果有人有任何想法或批评,请随时提出。

    【讨论】:

    • 我认为你需要听 'change' 事件.. 而不是 'childIndexChange'
    【解决方案2】:

    change 事件将在视图更改时触发,因此只需订阅此事件而不是 childIndexChange 即可解决问题。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-01-07
      • 2011-01-11
      • 1970-01-01
      • 1970-01-01
      • 2012-08-15
      • 1970-01-01
      相关资源
      最近更新 更多