【问题标题】:Trouble with ArrayCollection in flexflex中的ArrayCollection问题
【发布时间】:2011-11-28 04:32:53
【问题描述】:

我在 Flex 中使用 ArrayCollection 时遇到问题。这是我的代码:

 private var productPageArr:ArrayCollection;
 private var productCount:Number = 10;

 private function dviceProductPage(arr1:ArrayCollection,arr2:ArrayCollection):ArrayCollection       
 {      
    var page:Number = arr1.length      //productCount; 
    var i:int;
    arr2 = new ArrayCollection();

    //productPageArr = new ArrayCollection();

    for(i = 0; i<page; i++)
    {
      var o:Object = new Object();
      o.label = String(i+1);
      arr2.addItem(o);  
    }

    //arr2.refresh();
    return arr2;
 }

当我运行这段代码时,我的应用程序被终止。但是当 productPageArr 被替换为 arr2 时,我的应用程序运行顺利。

【问题讨论】:

  • //productPageArr = new ArrayCollection();
  • 这是运行流畅的代码还是崩溃的代码?

标签: actionscript-3 flash apache-flex flex3 flex4.5


【解决方案1】:

问题在于“arr2”的使用。 “arr2”是您的函数的参数,可能无法从此处访问。

我无法真正说出您想要实现的目标,但我的建议是在您的函数中创建一个新变量,您可以安全地将其作为函数的结果返回(这留下了关于您为什么接受的问题“ arr2" 作为参数)。

我希望这会有所帮助。

 private var productPageArr:ArrayCollection;
 private var productCount:Number = 10;

 private function dviceProductPage(arr1:ArrayCollection,arr2:ArrayCollection):ArrayCollection       
 {      
    var page:Number = arr1.length      //productCount; 
    var i:int;
    var arr3 = new ArrayCollection();

    for(i = 0; i<page; i++)
    {
      var o:Object = new Object();
      o.label = String(i+1);
      arr3.addItem(o);  
    }

    return arr3;
 }

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2011-12-25
    • 2023-04-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多