パッケージ | mx.collections |
クラス | public class AsyncListView |
継承 | AsyncListView OnDemandEventDispatcher Object |
実装 | IList |
言語バージョン: | ActionScript 3.0 |
製品バージョン: | Flex 4 |
ランタイムバージョン: | Flash Player 10, AIR 1.5 |
getItemAt()
、removeItemAt()
、および toArray()
メソッドによってスローされた ItemPendingErrors エラーを処理する IList インターフェイスの実装です。
getItemAt()
メソッドは、基になる要求が成功または失敗するまで、暫定保留アイテムを返すことで ItemPendingErrors を処理します。暫定アイテムは、createPendingItemFunction
プロパティで指定した関数を呼び出すことにより生成されます。要求が成功すると、暫定アイテムが実際のアイテムで置換されます。要求が失敗すると、createFailedItemFunction
プロパティで指定した関数を呼び出して返されたアイテムで暫定アイテムが置換されます。
このクラスは、IList メソッドおよびプロパティを list
に委譲します。リストが指定されていない場合、コレクションを変更するメソッドは no-op になり、コレクションに対するクエリでは null やゼロなどの空の値が返されます。
このクラスは、DataGroup に基づく Spark コンポーネント(List や ComboBox など)で使用することを目的としています。本来 Spark クラスは、ItemPendingError 処理をサポートしていません。
AsyncListView は、保留中または失敗したアイテムの再挿入はサポートしません。失敗または保留中のアイテムが削除されると、データに対する保留中のリクエストへの接続は失われます。ドラッグ&ドロップを使用して ASyncListView の保留中アイテムを移動したり、保留中または失敗したアイテムを含む ASyncListView をソートしたりすることはできません。これらの操作はリストアイテムを削除してから再挿入するためです。
MXML シンタックスMXML シンタックスを隠すThe <mx:AsyncListView>
tag inherits all the attributes of its
superclass, and adds the following attributes:
<mx:AsyncListView Properties createFailedItemFunction="null" createPendingItemFunction="null" list="null" />
プロパティ | 定義元 | ||
---|---|---|---|
constructor : Object
指定されたオブジェクトインスタンスのクラスオブジェクトまたはコンストラクター関数への参照です。 | Object | ||
createFailedItemFunction : Function
ItemPendingError のスロー原因となった要求が失敗に終わったときに、代替アイテムを作成するために使用するコールバック関数です。 | AsyncListView | ||
createPendingItemFunction : Function
最初の要求で ItemPendingError がスローされたときに、暫定アイテムを作成するために使用するコールバック関数です。 | AsyncListView | ||
length : int [読み取り専用]
コレクション内のアイテムの数です。 | AsyncListView | ||
list : IList
このコレクションがラップする IList オブジェクトです。 | AsyncListView |
メソッド | 定義元 | ||
---|---|---|---|
AsyncListView(list:IList = null)
コンストラクターです。 | AsyncListView | ||
addEventListener(type:String, listener:Function, useCapture:Boolean = false, priority:int = 0, useWeakReference:Boolean = false):void
イベントリスナーオブジェクトを EventDispatcher オブジェクトに登録し、リスナーがイベントの通知を受け取るようにします。 | OnDemandEventDispatcher | ||
指定されたアイテムをリストの末尾に追加します。 | AsyncListView | ||
指定されたインデックス位置にアイテムを追加します。 | AsyncListView | ||
イベントをイベントフローに送出します。 | OnDemandEventDispatcher | ||
list.getItemAt(index) の値を返します。 | AsyncListView | ||
リスト内の、getItemAt(index) == アイテムとなるアイテムのインデックスを返します。 | AsyncListView | ||
EventDispatcher オブジェクトに、特定のイベントタイプに対して登録されたリスナーがあるかどうかを確認します。 | OnDemandEventDispatcher | ||
オブジェクトに指定されたプロパティが定義されているかどうかを示します。 | Object | ||
Object クラスのインスタンスが、パラメーターとして指定されたオブジェクトのプロトタイプチェーン内にあるかどうかを示します。 | Object | ||
itemUpdated(item:Object, property:Object = null, oldValue:Object = null, newValue:Object = null):void
アイテムが更新されたビューを通知します。 | AsyncListView | ||
指定されたプロパティが存在し、列挙できるかどうかを示します。 | Object | ||
リストからすべてのアイテムを削除します。 | AsyncListView | ||
EventDispatcher オブジェクトからリスナーを削除します。 | OnDemandEventDispatcher | ||
指定されたインデックス位置にある実際のアイテムや保留中のアイテムを削除し、返します。 | AsyncListView | ||
指定されたインデックス位置にアイテムを配置します。 | AsyncListView | ||
ループ処理に対するダイナミックプロパティの可用性を設定します。 | Object | ||
この AsyncListView と同じエレメントを持つ配列が返されます。 | AsyncListView | ||
ロケール固有の規則に従って書式設定された、このオブジェクトのストリング表現を返します。 | Object | ||
リストの長さと保留中のアイテムリクエストの数が格納された文字列を返します。 | AsyncListView | ||
指定されたオブジェクトのプリミティブな値を返します。 | Object | ||
指定されたイベントタイプについて、この EventDispatcher オブジェクトまたはその祖先にイベントリスナーが登録されているかどうかを確認します。 | OnDemandEventDispatcher |
イベント | 概要 | 定義元 | ||
---|---|---|---|---|
リストの長さが変更されたときや、リストのエレメントが置換されたときに送出されます。 | AsyncListView |
createFailedItemFunction | プロパティ |
createFailedItemFunction:Function
言語バージョン: | ActionScript 3.0 |
製品バージョン: | Flex 4 |
ランタイムバージョン: | Flash Player 10, AIR 1.5 |
ItemPendingError
のスロー原因となった要求が失敗に終わったときに、代替アイテムを作成するために使用するコールバック関数です。既存のアイテム(通常は、createPendingItemFunction()
プロパティで指定したコールバック関数で作成された保留中のアイテム)は、失敗したアイテムで置換されます。
このプロパティの値は、2 つのパラメーターを持つ関数である必要があります。パラメーターは、要求されたアイテムのインデックスと、IResponder fault()
メソッドから渡される失敗の "info" オブジェクトです。ほとんどの場合、2 番目のパラメーターは無視できます。次に、このコールバック関数の実装例を示します。
function createFailedItem(index:int, info:Object):Object { return "[" + index + "request failed]"; }
このプロパティを設定しても、作成済みの失敗アイテムに影響はありません。このプロパティを null に設定すると、失敗アイテムは作成されなくなります。
デフォルト値: A function that unconditionally returns null.。
実装
public function get createFailedItemFunction():Function
public function set createFailedItemFunction(value:Function):void
関連する API エレメント
createPendingItemFunction | プロパティ |
createPendingItemFunction:Function
言語バージョン: | ActionScript 3.0 |
製品バージョン: | Flex 4 |
ランタイムバージョン: | Flash Player 10, AIR 1.5 |
最初の要求で ItemPendingError
がスローされたときに、暫定アイテムを作成するために使用するコールバック関数です。最終的に要求が成功した場合、暫定アイテムは実際のアイテムに自動的に置換されます。要求が失敗した場合、アイテムは、createFailedItemFunction
プロパティで指定したコールバック関数により作成されたアイテムで置換されます。
このプロパティの値は、2 つのパラメーターを持つ関数である必要があります。パラメーターは、要求されたデータプロバイダーアイテムのインデックスと、ItemPendingError 自体です。ほとんどの場合、2 番目のパラメーターは無視できます。次の例は、コールバック関数の実装を示しています。
function createPendingItem(index:int, ipe:ItemPendingError):Object { return "[" + index + "request is pending...]"; }
このプロパティを設定しても、作成済みの暫定保留アイテムに影響はありません。このプロパティを null に設定すると、暫定保留アイテムは作成されなくなります。
デフォルト値: A function that unconditionally returns null.。
実装
public function get createPendingItemFunction():Function
public function set createPendingItemFunction(value:Function):void
関連する API エレメント
length | プロパティ |
list | プロパティ |
list:IList
言語バージョン: | ActionScript 3.0 |
製品バージョン: | Flex 4 |
ランタイムバージョン: | Flash Player 10, AIR 1.5 |
このコレクションがラップする IList オブジェクトです。これは、すべての IList メソッドが委譲されるオブジェクトを意味します。
このプロパティが null の場合、IList 変更メソッド(setItemAt()
など)は no-op です。IList 照会メソッド(getItemAt()
など)は、必要に応じて null またはゼロを返します(getItemIndex()
の場合は -1)。
デフォルト値: null。
このプロパティはデータバインディングのソースとして使用できます。 このプロパティを変更すると、 listChanged
イベントが送出されます。
実装
public function get list():IList
public function set list(value:IList):void
AsyncListView | () | コンストラクター |
addItem | () | メソッド |
addItemAt | () | メソッド |
public function addItemAt(item:Object, index:int):void
言語バージョン: | ActionScript 3.0 |
製品バージョン: | Flex 4 |
ランタイムバージョン: | Flash Player 10, AIR 1.5 |
指定されたインデックス位置にアイテムを追加します。 追加したアイテムより大きいインデックスを持つすべてのアイテムのインデックスが 1 ずつ増えます。 指定されたインデックスが 0 未満であるか、またはリストの長さより大きい場合は、RangeError がスローされます。
パラメーター
item:Object — インデックス位置に配置するアイテムです。
| |
index:int — アイテムを配置するインデックス位置です。
|
getItemAt | () | メソッド |
public function getItemAt(index:int, prefetch:int = 0):Object
言語バージョン: | ActionScript 3.0 |
製品バージョン: | Flex 4 |
ランタイムバージョン: | Flash Player 10, AIR 1.5 |
list.getItemAt(index)
の値を返します。
このメソッドは、getItemAt()
の呼び出し結果として生成された ItemPendingErrors(IPEs)を受け取ります。IPE がスローされると、IPE に IResponder
が追加され、createPendingItemFunction
で作成された暫定保留アイテムが返されます。最終的に基になる要求が成功した場合、保留アイテムが実際のアイテムで置換されます。要求が失敗した場合、保留アイテムは createFailedItemFunction
を呼び出して生成された値で置換されます。
パラメーター
index:int — アイテムを取得するリストインデックスです。
| |
prefetch:int (default = 0 ) — アイテムがローカルでない場合に要求時に取得するアイテムの方向と量を示す int 値です。
|
Object — 指定したインデックスのリストアイテムです。
|
例外
RangeError — index < 0 または index >= length の場合。
|
関連する API エレメント
getItemIndex | () | メソッド |
public function getItemIndex(item:Object):int
言語バージョン: | ActionScript 3.0 |
製品バージョン: | Flex 4 |
ランタイムバージョン: | Flash Player 10, AIR 1.5 |
リスト内の、getItemAt(index) == アイテムとなるアイテムのインデックスを返します。
メモ:IViewCursor.findxxx()
メソッドとは異なり、getItemIndex()
メソッドは、検索対象のアイテムに含まれるフィールドのサブセットのみをパラメーターとして渡すことはできません。このメソッドは常に、入力パラメーターに完全に一致するアイテムを検索します。
パラメーター
item:Object — 検索するアイテムです。
|
int — アイテムのインデックスです。アイテムがリスト内にない場合は -1 です。
|
itemUpdated | () | メソッド |
public function itemUpdated(item:Object, property:Object = null, oldValue:Object = null, newValue:Object = null):void
言語バージョン: | ActionScript 3.0 |
製品バージョン: | Flex 4 |
ランタイムバージョン: | Flash Player 10, AIR 1.5 |
アイテムが更新されたビューを通知します。 これは、ビューの内容が IEventDispatcher
を実装せず、PropertyChangeEvent
を送出する場合に便利です。 プロパティを指定すると、ビューは通知メカニズムを最適化できます。 プロパティを指定しないと、ビュー全体の単純な更新が選択されます。
パラメーター
item:Object — 更新されたビュー内のアイテムです。
| |
property:Object (default = null ) — 更新されたプロパティの名前です。
| |
oldValue:Object (default = null ) — そのプロパティの古い値です。 プロパティが null の場合はアイテムの古い値を指定できます。
| |
newValue:Object (default = null ) — そのプロパティの新しい値です。 プロパティが null の場合、アイテムは新しい値と見なされるので、指定する必要はありません。
|
removeAll | () | メソッド |
public function removeAll():void
言語バージョン: | ActionScript 3.0 |
製品バージョン: | Flex 4 |
ランタイムバージョン: | Flash Player 10, AIR 1.5 |
リストからすべてのアイテムを削除します。
アイテムがローカルではなく、非同期処理を実行する必要がある場合は、ItemPendingError
がスローされます。
ItemPendingError
の使用の詳細については、ItemPendingError およびコレクションの説明を参照してください。
removeItemAt | () | メソッド |
public function removeItemAt(index:int):Object
言語バージョン: | ActionScript 3.0 |
製品バージョン: | Flex 4 |
ランタイムバージョン: | Flash Player 10, AIR 1.5 |
指定されたインデックス位置にある実際のアイテムや保留中のアイテムを削除し、返します。 インデックスが指定のインデックスより大きいすべてのアイテムは、そのインデックスを 1 だけ削減します。
例えば、getItemAt(index)
への呼び出しがデータのページインを発生させなかったなどの理由で、指定されたインデックスに実際または保留中のアイテムがない場合は、基盤となる list
が ItemPendingError をスローする場合があります。この実装では、ItemPendingError が無視されて null が返されます。
パラメーター
index:int — アイテムを取得するリストインデックスです。
|
Object — 削除されたか null のアイテムです。
|
例外
RangeError — index < 0 または index >= length の場合。
|
setItemAt | () | メソッド |
public function setItemAt(item:Object, index:int):Object
言語バージョン: | ActionScript 3.0 |
製品バージョン: | Flex 4 |
ランタイムバージョン: | Flash Player 10, AIR 1.5 |
指定されたインデックス位置にアイテムを配置します。 アイテムが既にそのインデックス位置にある場合は、新しいアイテムに置き換えられ、インデックス位置にあったアイテムが返されます。
パラメーター
item:Object — 指定されたインデックス位置に配置される新しいアイテムです。
| |
index:int — アイテムを配置するインデックス位置です。
|
Object — 置き換えられたアイテムです。アイテムがない場合は null です。
|
toArray | () | メソッド |
public function toArray():Array
言語バージョン: | ActionScript 3.0 |
製品バージョン: | Flex 4 |
ランタイムバージョン: | Flash Player 10, AIR 1.5 |
この AsyncListView と同じエレメントを持つ配列が返されます。この配列は、getItemAt()
で各アイテムを取得することによって初期化されます。そのため、実際の値がまだ使用できない場合は、保留中のアイテムが代用されます。AsyncListView が保留中のアイテムを実際の(または失敗した)値で置き換えるときには、配列は更新されません。
Array — この AsyncListView と同じエレメントを持つ配列です。
|
toString | () | メソッド |
collectionChange | イベント |
mx.events.CollectionEvent
プロパティ CollectionEvent.type =
mx.events.CollectionEvent.COLLECTION_CHANGE
言語バージョン: | ActionScript 3.0 |
製品バージョン: | Flex 3 |
ランタイムバージョン: | Flash Player 9, AIR 1.1 |
リストの長さが変更されたときや、リストのエレメントが置換されたときに送出されます。
CollectionEvent.COLLECTION_CHANGE 定数は、コレクションが変更されたときに送出されるイベントのイベントオブジェクトのtype
プロパティ値を定義します。
イベントオブジェクトの各プロパティには次の値が設定されています。 イベントの種類によっては無効なプロパティもあります。詳細については、各プロパティの説明を参照してください。
プロパティ | 値 |
---|---|
bubbles | false |
cancelable | false |
currentTarget | イベント処理を行うイベントリスナーの定義用オブジェクトを表します。 例えば、イベントリスナーの登録に myButton.addEventListener() を使用すると、myButton の値は currentTarget となります。 |
items | イベントの影響を受けるアイテムの情報を持つオブジェクトの配列です。 このフィールドの内容はイベントの種類に応じて異なります。詳細については、items プロパティを参照してください。 |
kind | イベントの種類です。 有効な値が定数として CollectionEventKind クラスに定義されます。 |
location | items プロパティで指定されたアイテムのターゲットコレクション内における位置です。 |
oldLocation | items プロパティで指定されたアイテムのコレクション内における以前の位置です。 |
target | イベントを送出したオブジェクトを表します。このオブジェクトは必ずしもイベントを受け取るオブジェクトとは限りません。 イベントを受け取るオブジェクトに常にアクセスするには、currentTarget プロパティを使用してください。 |
type | CollectionEvent.COLLECTION_CHANGE |
Tue Jun 12 2018, 10:34 AM Z