mx.collections

# IList - AS3 Flex

Package | mx.collections
Interface | public interface IList extends IEventDispatcher
Implementors | ArrayList, AsyncListView, ListCollectionView, NumericDataProvider

Language Version: | ActionScript 3.0

Product Version: | Flex 3

Runtime Versions: | Flash Player 9, AIR 1.1

A collection of items organized in an ordinal fashion. Provides access and manipulation methods based on index.

An `IList` may be a view onto data that has been retrieved from a remote location. When writing for a collection that may be remote, it is important to handle the case where data may not yet be available, which is indicated by the `ItemPendingError`.

The `ICollectionView` is an alternative to the `IList`.

Related API Elements

mx.collections.errors.ItemPendingError
mx.collections.ICollectionView
mx.collections.ListCollectionView

Public Properties

| Property | Defined By
--- | --- | ---
|  | length : int [read-only] The number of items in this collection. | IList

Public Methods
Hide Inherited Public Methods
Show Inherited Public Methods

| Method | Defined By
--- | --- | ---
|  | addEventListener(type:String, listener:Function, useCapture:Boolean = false, priority:int = 0, useWeakReference:Boolean = false):void Registers an event listener object with an EventDispatcher object so that the listener receives notification of an event. | IEventDispatcher
|  | addItem(item:Object):void Adds the specified item to the end of the list. | IList
|  | addItemAt(item:Object, index:int):void Adds the item at the specified index. | IList
|  | dispatchEvent(event:Event):Boolean Dispatches an event into the event flow. | IEventDispatcher
|  | getItemAt(index:int, prefetch:int = 0):Object Gets the item at the specified index. | IList
|  | getItemIndex(item:Object):int Returns the index of the item if it is in the list such that getItemAt(index) == item. | IList
|  | hasEventListener(type:String):Boolean Checks whether the EventDispatcher object has any listeners registered for a specific type of event. | IEventDispatcher
|  | itemUpdated(item:Object, property:Object = null, oldValue:Object = null, newValue:Object = null):void Notifies the view that an item has been updated. | IList
|  | removeAll():void Removes all items from the list. | IList
|  | removeEventListener(type:String, listener:Function, useCapture:Boolean = false):void Removes a listener from the EventDispatcher object. | IEventDispatcher
|  | removeItemAt(index:int):Object Removes the item at the specified index and returns it. | IList
|  | setItemAt(item:Object, index:int):Object Places the item at the specified index. | IList
|  | toArray():Array Returns an Array that is populated in the same order as the IList implementation. | IList
|  | willTrigger(type:String):Boolean Checks whether an event listener is registered with this EventDispatcher object or any of its ancestors for the specified event type. | IEventDispatcher

Events
Click for more information on events

| Event | Summary | Defined By
--- | --- | --- | ---
|  | collectionChange | Dispatched when the IList has been updated in some way. | IList

Property Detail

### length

property

`length:int` [read-only]

Language Version: | ActionScript 3.0

Product Version: | Flex 3

Runtime Versions: | Flash Player 9, AIR 1.1

The number of items in this collection. 0 means no items while -1 means the length is unknown.

Implementation
`public function get length():int`
Method Detail

### addItem

()
method

`public function addItem(item:Object):void`

Language Version: | ActionScript 3.0

Product Version: | Flex 3

Runtime Versions: | Flash Player 9, AIR 1.1

Adds the specified item to the end of the list. Equivalent to `addItemAt(item, length)`.

Parameters

| `item:Object` — The item to add.

### addItemAt

()
method

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

Language Version: | ActionScript 3.0

Product Version: | Flex 3

Runtime Versions: | Flash Player 9, AIR 1.1

Adds the item at the specified index. The index of any item greater than the index of the added item is increased by one. If the the specified index is less than zero or greater than the length of the list, a RangeError is thrown.

Parameters

| `item:Object` — The item to place at the index.
| `index:int` — The index at which to place the item.

Throws

| `RangeError` — if index is less than 0 or greater than the length of the list.

### getItemAt

()
method

`public function getItemAt(index:int, prefetch:int = 0):Object`

Language Version: | ActionScript 3.0

Product Version: | Flex 3

Runtime Versions: | Flash Player 9, AIR 1.1

Gets the item at the specified index.

Parameters

| `index:int` — The index in the list from which to retrieve the item.
| `prefetch:int` (default = `0`)`` — An `int` indicating both the direction and number of items to fetch during the request if the item is not local.

Returns

| `Object` — The item at that index, or `null` if there is none.

Throws

| `ItemPendingError` — if the data for that index needs to be loaded from a remote location.
| `RangeError` — if `index < 0` or `index >= length`.

### getItemIndex

()
method

`public function getItemIndex(item:Object):int`

Language Version: | ActionScript 3.0

Product Version: | Flex 3

Runtime Versions: | Flash Player 9, AIR 1.1

Returns the index of the item if it is in the list such that getItemAt(index) == item.

Note: unlike `IViewCursor.findxxx()` methods, The `getItemIndex()` method cannot take a parameter with only a subset of the fields in the item being serched for; this method always searches for an item that exactly matches the input parameter.

Parameters

| `item:Object` — The item to find.

Returns

| `int` — The index of the item, or -1 if the item is not in the list.

### itemUpdated

()
method

`public function itemUpdated(item:Object, property:Object = null, oldValue:Object = null, newValue:Object = null):void`

Language Version: | ActionScript 3.0

Product Version: | Flex 3

Runtime Versions: | Flash Player 9, AIR 1.1

Notifies the view that an item has been updated. This is useful if the contents of the view do not implement `IEventDispatcher` and dispatches a `PropertyChangeEvent`. If a property is specified the view may be able to optimize its notification mechanism. Otherwise it may choose to simply refresh the whole view.

Parameters

| `item:Object` — The item within the view that was updated.
| `property:Object` (default = `null`)`` — The name of the property that was updated.
| `oldValue:Object` (default = `null`)`` — The old value of that property. (If property was null, this can be the old value of the item.)
| `newValue:Object` (default = `null`)`` — The new value of that property. (If property was null, there's no need to specify this as the item is assumed to be the new value.)

Related API Elements

mx.events.CollectionEvent
mx.events.PropertyChangeEvent

### removeAll

()
method

`public function removeAll():void`

Language Version: | ActionScript 3.0

Product Version: | Flex 3

Runtime Versions: | Flash Player 9, AIR 1.1

Removes all items from the list.

If any item is not local and an asynchronous operation must be performed, an `ItemPendingError` will be thrown.

See the ItemPendingError documentation as well as the collections documentation for more information on using the `ItemPendingError`.

### removeItemAt

()
method

`public function removeItemAt(index:int):Object`

Language Version: | ActionScript 3.0

Product Version: | Flex 3

Runtime Versions: | Flash Player 9, AIR 1.1

Removes the item at the specified index and returns it. Any items that were after this index are now one index earlier.

Parameters

| `index:int` — The index from which to remove the item.

Returns

| `Object` — The item that was removed.

Throws

| `RangeError` — is index is less than 0 or greater than length.

### setItemAt

()
method

`public function setItemAt(item:Object, index:int):Object`

Language Version: | ActionScript 3.0

Product Version: | Flex 3

Runtime Versions: | Flash Player 9, AIR 1.1

Places the item at the specified index. If an item was already at that index the new item will replace it and it will be returned.

Parameters

| `item:Object` — The new item to be placed at the specified index.
| `index:int` — The index at which to place the item.

Returns

| `Object` — The item that was replaced, or `null` if none.

Throws

| `RangeError` — if index is less than 0 or greater than length.

### toArray

()
method

`public function toArray():Array`

Language Version: | ActionScript 3.0

Product Version: | Flex 3

Runtime Versions: | Flash Player 9, AIR 1.1

Returns an Array that is populated in the same order as the IList implementation. This method can throw an ItemPendingError.

Returns

| `Array` — The array.

Throws

| `ItemPendingError` — If the data is not yet completely loaded from a remote location.

Event Detail

### collectionChange

Event

Event Object Type: `mx.events.CollectionEvent`
property CollectionEvent.type = `mx.events.CollectionEvent.COLLECTION_CHANGE`

Language Version: | ActionScript 3.0

Product Version: | Flex 3

Runtime Versions: | Flash Player 9, AIR 1.1

Dispatched when the IList has been updated in some way.

The CollectionEvent.COLLECTION_CHANGE constant defines the value of the `type` property of the event object for an event that is dispatched when a collection has changed.

The properties of the event object have the following values. Not all properties are meaningful for all kinds of events. See the detailed property descriptions for more information.

Property | Value
--- | ---
`bubbles` | false
`cancelable` | false
`currentTarget` | The Object that defines the event listener that handles the event. For example, if you use `myButton.addEventListener()` to register an event listener, myButton is the value of the `currentTarget`.
`items` | An Array of objects with information about the items affected by the event. The contents of this field depend on the event kind; for details see the `items` property
`kind` | The kind of event. The valid values are defined in the CollectionEventKind class as constants.
`location` | Location within the target collection of the item(s) specified in the `items` property.
`oldLocation` | the previous location in the collection of the item specified in the `items` property.
`target` | The Object that dispatched the event; it is not always the Object listening for the event. Use the `currentTarget` property to always access the Object listening for the event.
`type` | CollectionEvent.COLLECTION_CHANGE

© 2015 Adobe Systems Incorporated. All rights reserved.
Mon Apr 10 2017, 12:28 PM -07:00