mx.collections
接口public interface IList extends IEventDispatcher
实现器 ListCollectionView

按顺序组织的项目的集合。提供基于索引的访问和处理方法。

IList 可以是从远程位置检索到的数据的视图。在对可能位于远程位置的集合进行写入时,必须处理数据尚不可用的情况,ItemPendingError 会指示这一情况。

ICollectionView 可以替代 IList

另请参见

mx.collections.errors.ItemPendingError
mx.collections.ICollectionView
mx.collections.ListCollectionView
Using Data Providers and Collections


公共属性
 属性定义方
  length : int
[只读 (read-only)] 此集合中的项目数。
IList
公共方法
 方法定义方
 Inherited
addEventListener(type:String, listener:Function, useCapture:Boolean = false, priority:int = 0, useWeakReference:Boolean = false):void
使用 EventDispatcher 对象注册事件侦听器对象,以使侦听器能够接收事件通知。
IEventDispatcher
  
向列表末尾添加指定项目。
IList
  
addItemAt(item:Object, index:int):void
在指定的索引处添加项目。
IList
 Inherited
将事件调度到事件流中。
IEventDispatcher
  
getItemAt(index:int, prefetch:int = 0):Object
获取指定索引处的项目。
IList
  
如果项目位于列表中(这样的话 getItemAt(index) == item),则返回该项目的索引。
IList
 Inherited
检查 EventDispatcher 对象是否为特定事件类型注册了任何侦听器。
IEventDispatcher
  
itemUpdated(item:Object, property:Object = null, oldValue:Object = null, newValue:Object = null):void
通知视图,某个项目已更新。
IList
  
删除列表中的所有项目。
IList
 Inherited
removeEventListener(type:String, listener:Function, useCapture:Boolean = false):void
从 EventDispatcher 对象中删除侦听器。
IEventDispatcher
  
删除指定索引处的项目并返回该项目。
IList
  
setItemAt(item:Object, index:int):Object
在指定的索引处放置项目。
IList
  
返回与 IList 实现的填充顺序相同的 Array。
IList
 Inherited
检查是否用此 EventDispatcher 对象或其任何始祖为指定事件类型注册了事件侦听器。
IEventDispatcher
事件
 事件 摘要 定义方
  以某种方式更新 IList 后调度。IList
属性详细信息
length属性
length:int  [只读 (read-only)]

此集合中的项目数。0 表示不包含项目,而 -1 表示长度未知。



实现
    public function get length():int
方法详细信息
addItem()方法
public function addItem(item:Object):void

向列表末尾添加指定项目。等效于 addItemAt(item, length)

参数

item:Object — 要添加的项目。

addItemAt()方法 
public function addItemAt(item:Object, index:int):void

在指定的索引处添加项目。任何大于已添加项目的索引的项目索引都会增加 1。如果指定索引小于零或者大于列表长度,则会引发 RangeError。

参数

item:Object — 要置于索引处的项目。
 
index:int — 要放置项目的索引位置。


引发
RangeError — 如果索引小于 0 或大于列表长度。
getItemAt()方法 
public function getItemAt(index:int, prefetch:int = 0):Object

获取指定索引处的项目。

参数

index:int — 要从中检索项目的列表中的索引。
 
prefetch:int (default = 0) — 一个 int,指示当项目不是本地项目时,在请求期间要获取的项目的方向和编号。

返回
Object — 此索引处的项目;如果没有项目,则为 null

引发
ItemPendingError — 如果需要从远程位置加载此索引的数据。
 
RangeError — 如果 index < 0index >= length
getItemIndex()方法 
public function getItemIndex(item:Object):int

如果项目位于列表中(这样的话 getItemAt(index) == item),则返回该项目的索引。

注意:与 IViewCursor.findxxx() 方法不同,getItemIndex() 方法不能在要搜索的项目中使用只带字段子集的参数;此方法始终搜索与输入参数完全匹配的项目。

参数

item:Object — 要查找的项目。

返回
int — 该项目的索引;如果该项目不在列表中,则为 -1。
itemUpdated()方法 
public function itemUpdated(item:Object, property:Object = null, oldValue:Object = null, newValue:Object = null):void

通知视图,某个项目已更新。如果视图的内容不实现 IEventDispatcher 并调度 PropertyChangeEvent,则此方法很有用。如果已指定属性,该视图也许能优化其通知机制。否则,它可能选择仅刷新整个视图。

参数

item:Object — 已在视图中更新的项目。
 
property:Object (default = null) — 已更新属性的名称。
 
oldValue:Object (default = null) — 该属性的旧值。(如果属性为 null,则它可以是该项目的旧值。)
 
newValue:Object (default = null) — 该属性的新值。(如果属性为 null,则无需指定它,因为已假定该项目为新值。)

另请参见

removeAll()方法 
public function removeAll():void

删除列表中的所有项目。

如果存有不是本地项目的项目,并且必须执行异步操作,则会引发 ItemPendingError

有关如何使用 ItemPendingError 的详细信息,请参阅 ItemPendingError 文档和集合文档。

removeItemAt()方法 
public function removeItemAt(index:int):Object

删除指定索引处的项目并返回该项目。原先位于此索引之后的所有项目的索引现在都向前移动一个位置。

参数

index:int — 要从中删除项目的索引。

返回
Object — 被删除的项目。

引发
RangeError — 如果索引小于 0 或大于长度。
setItemAt()方法 
public function setItemAt(item:Object, index:int):Object

在指定的索引处放置项目。如果此索引处已存在项目,新项目将替代该项目,并返回该项目。

参数

item:Object — 要在指定索引处放置的新项目。
 
index:int — 要放置项目的索引位置。

返回
Object — 被替换的项目;如果没有项目,则为 null

引发
RangeError — 如果索引小于 0 或大于长度。
toArray()方法 
public function toArray():Array

返回与 IList 实现的填充顺序相同的 Array。此方法可能会引发 ItemPendingError。

返回
Array — 数组。

引发
ItemPendingError — 如果尚未从远程位置完全加载数据。
事件详细信息
collectionChange 事件
事件对象类型: mx.events.CollectionEvent
属性 CollectionEvent.type = mx.events.CollectionEvent.COLLECTION_CHANGE

以某种方式更新 IList 后调度。

CollectionEvent.COLLECTION_CHANGE 常数可为在集合发生更改时调度的事件定义事件对象的 type 属性值。

事件对象的属性具有下列值。并非所有属性对于各种事件都有意义。有关详细信息,请参阅详细的属性说明。

属性
bubbles false
cancelable false
currentTarget 用于定义处理该事件的事件侦听器的 Object。例如,如果您使用 myButton.addEventListener() 注册某个事件侦听器,则 myButton 为 currentTarget 的值。
items 对象 Array,其中包含有关受事件影响的项目的信息。此字段的内容取决于事件的类型;有关详细信息,请参阅 items 属性
kind 事件的类型。有效值定义为 CollectionEventKind 类中的常数。
location items 属性中指定的项目在目标集合中的位置。
oldLocation items 属性中指定的项目原来在目标集合中的位置。
target 调度该事件的 Object;它不一定是侦听该事件的 Object。使用 currentTarget 属性始终可以访问侦听事件的 Object。
type CollectionEvent.COLLECTION_CHANGE